/**
 * @fileoverview 易学历法库。
 * 接口：
 * 依赖：easiness.js
 * 实现：寿星万年历实现版本。
 * 核心程序作者：许剑伟 xunmeng04@163.com 13375051698
 *
 * @author 周培公 peigong@foxmail.com QQ:377650913
 * @version 1.0
 */
(function(){
	/**
	 * 易学命名空间。
	 */
	var ea = easiness = window.easiness = window.easiness || {};

	/**
	 * 易学历法命名空间。
	 */
	easiness.calendar = easiness.calendar || {
		/**
		 * 根据日期对象，返回易学干支纪时。
		 * 
		 * @param {Date} _date 日期对象。
		 * @return 易学历法对象。
		 */
		getETime : function(_date){
			var e60;
			if(_date)
			{
				var y = _date.getFullYear(),
					 m = _date.getMonth() + 1, 
					 d = _date.getDate(),
					 h = _date.getHours();
				var e_t = Lunar.e_calc2(y, m, d, h);
				e60 = {
					year : ea.E60[ea.getE60Index(e_t.year_trunk, e_t.year_branch)],
					month : ea.E60[ea.getE60Index(e_t.month_trunk, e_t.month_branch)],
					day : ea.E60[ea.getE60Index(e_t.day_trunk, e_t.day_branch)],
					hour : ea.E60[ea.getE60Index(e_t.hour_trunk, e_t.hour_branch)]
				}
			}
			else
			{
				e60 = {
					year : E60[0],
					month : E60[0],
					day : E60[0],
					hour : E60[0]
				};
			}
			return e60;
		}
	};

	/*-------------------------------------------- 许剑伟 寿星万年历 程序内核 --------------------------------------------*/
	/****************************************
	以下是天文计算部分,包含有：
	常数 rad   : 每弧度的角秒数
	常数 J2000 : 2000年1月1日 12:00:00 的儒略日数
	常数 pi2   : 圆周率的2倍,即2*3.14159...
	trim()     : 去除字串首尾的空格
	rad2str()  : 弧度转为"度分秒"或"时分秒"
	rad2str2() : 弧度转为"度分"
	rad2mrad() : 将超出0到360度的角度转为0到360度的解度
	mod2(a,b)  : 临界余数(a与最近的整倍数b相差的距离)
	int2(a)    : 取小等于a的最大整数
	物件 JD    : 公历——儒略日——时间物件
	物件 ZB    : 坐标变换物件，包含坐标旋转、章动、日月光行差(时)、视差、大气折射、恒星时的计算
	物件 XL    : 日月黄道平分点坐标、视坐标、速度、已知经度反求时间等方面的计算
	物件 SZJ   : 用来计算日月的升起、中天、降落
	注意，上述函数或物件是纯天文学的，根据实际需要组合使用可以得到所需要的各种日月坐标，计算精度及计算速度也是可以根据需要有效控制的。
	*****************************************/

	/**
	 * 每弧度的角秒数。
	 */
	var rad  = 180*3600/Math.PI,
	
	/**
	 * 2000年1月1日 12:00:00 的儒略日数。
	 */
	J2000= 2451545;
	
	/**
	 * 圆周率的2倍,即2*3.14159...
	 */
	pi2  = Math.PI*2;
	
	/**
	 * 去除字串首尾的空格。
	 */
	function trim(s){ return s.replace(/(^\s*)|(\s*$)/g, "");  }
	
	/**
	 * 弧度转为"度分秒"或"时分秒"。
	 */
	function rad2str(d,tim){ //将弧度转为字串
		 //tim=0输出格式示例: -23°59' 48.23"
		 //tim=1输出格式示例:  18h 29m 44.52s
		 var s=" ";
		 var w1="°",w2="'",w3='"';
		 if(d<0)  d=-d,s='-';
		 if(tim){ d*=12/Math.PI; w1="h ",w2="m ",w3="s"; }
		 else     d*=180/Math.PI;
		 var a=Math.floor(d); d=(d-a)*60;
		 var b=Math.floor(d); d=(d-b)*60;
		 var c=Math.floor(d); d=(d-c)*100;
		 d=Math.floor(d+0.5);
		 if(d>=100) d-=100, c++;
		 if(c>=60)  c-=60,  b++;
		 if(b>=60)  b-=60,  a++;
		 a="   "+a, b="0"+b, c="0"+c, d="0"+d;
		 s+=a.substr(a.length-3,3)+w1;
		 s+=b.substr(b.length-2,2)+w2;
		 s+=c.substr(c.length-2,2)+".";
		 s+=d.substr(d.length-2,2)+w3;
		 return s;
	};
	
	/**
	 *  弧度转为"度分"。
	 */
	function rad2str2(d){ //将弧度转为字串,精确到分
		 //输出格式示例: -23°59'
		 var s="+";
		 var w1="°",w2="'",w3='"';
		 if(d<0)  d=-d,s='-';
		 d*=180/Math.PI;
		 var a=Math.floor(d);
		 var b=Math.floor((d-a)*60+0.5);
		 if(b>=60)  b-=60,  a++;
		 a="   "+a, b="0"+b;
		 s+=a.substr(a.length-3,3)+w1;
		 s+=b.substr(b.length-2,2)+w2;
		 return s;
	};

	/**
	 * 将超出0到360度的角度转为0到360度的解度。
	 */
	function rad2mrad(v){   //对超过0-2PI的角度转为0-2PI
		v=v % (2*Math.PI);
		if(v<0) return v+2*Math.PI;
		return v;
	};
	
	/**
	 * 临界余数(a与最近的整倍数b相差的距离)。
	 */
	function mod2(a,b){ //临界余数(a与最近的整倍数b相差的距离)
		var c=a/b;
		c -= Math.floor(c);
		if(c>0.5) c-=1;
		return c*b;
	};
	
	/**
	 * 取小等于a的最大整数。
	 */
	function int2(v){ return Math.floor(v); };  //取整数部分

	/**
	 * 公历——儒略日——时间物件。
	 */
	var JD = { //日期元件
		Y : 2000, M:1, D:1, h:12, m:0, s:0,
		
		/**
		 * TD - UT1 计算表。
		 */
		dts : new Array( // TD - UT1 计算表
			-4000,108371.7,-13036.80,392.000, 0.0000, -500, 17201.0,  -627.82, 16.170,-0.3413,
			-150, 12200.6,  -346.41,  5.403,-0.1593,  150,  9113.8,  -328.13, -1.647, 0.0377,
			500,  5707.5,  -391.41,  0.915, 0.3145,  900,  2203.4,  -283.45, 13.034,-0.1778,
			1300,   490.1,   -57.35,  2.085,-0.0072, 1600,   120.0,    -9.81, -1.532, 0.1403,
			1700,    10.2,    -0.91,  0.510,-0.0370, 1800,    13.4,    -0.72,  0.202,-0.0193,
			1830,     7.8,    -1.81,  0.416,-0.0247, 1860,     8.3,    -0.13, -0.406, 0.0292,
			1880,    -5.4,     0.32, -0.183, 0.0173, 1900,    -2.3,     2.06,  0.169,-0.0135,
			1920,    21.2,     1.69, -0.304, 0.0167, 1940,    24.2,     1.22, -0.064, 0.0031,
			1960,    33.2,     0.51,  0.231,-0.0109, 1980,    51.0,     1.29, -0.026, 0.0032,
			2000,    63.87,    0.1,   0,     0,      2005),
		
		/**
		 * 二次曲线外推。
		 */
		deltatExt : function(y,jsd){ var dy=(y-1820)/100; return -20+jsd*dy*dy; }, //二次曲线外推
		
		/**
		 * 计算世界时与原子时之差,传入年。
		 */
		deltatT : function(y){ //计算世界时与原子时之差,传入年
			if(y >= 2005){
				//sd是2005年之后几年（一值到y1年）的速度估计。
				//sjd是y1年之后的加速度估计。瑞士星历表jsd=31,NASA网站jsd=32,skmap的jsd=29
				var y1=2014, sd=0.4, jsd=31;
				if(y<=y1) return 64.7 + (y-2005) *sd; //直线外推
				var v = this.deltatExt(y,jsd);        //二次曲线外推
				var dv= this.deltatExt(y1,jsd) - ( 64.7+(y1-2005)*sd ); //y1年的二次外推与直线外推的差
				if(y<y1+100  ) v -= dv*(y1+100-y)/100;
				return v;
			}
			var i,d=this.dts;
			for(i=0;i<d.length;i+=5) if(y<d[i+5]) break;
			var t1=(y-d[i])/(d[i+5]-d[i])*10, t2=t1*t1, t3=t2*t1;
			return d[i+1] +d[i+2]*t1 +d[i+3]*t2 +d[i+4]*t3;
		},
		
		/**
		 * 传入儒略日(J2000起算),计算TD-UT(单位:日)。
		 */
		deltatT2 : function(t){ //传入儒略日(J2000起算),计算TD-UT(单位:日)
			return this.deltatT(t/365.2425+2000)/86400.0;
		},
		
		/**
		 * 公历转儒略日。
		 */
		toJD : function(){ //公历转儒略日
			var y=this.Y, m=this.M, n=0; //取出年月
			if(m<=2) m+=12,y--;
			if(this.Y*372+this.M*31+this.D>=588829)//判断是否为格里高利历日1582*372+10*31+15
			 n =int2(y/100), n =2-n+int2(n/4);//加百年闰
			n +=int2(365.25*(y+4716)+0.01);    //加上年引起的偏移日数
			n +=int2(30.6*(m+1))+this.D;       //加上月引起的偏移日数及日偏移数
			n +=((this.s/60+this.m)/60+this.h)/24 - 1524.5;
			return n;
		},
		
		/**
		 * 儒略日数转公历。
		 */
		setFromJD : function(jd){ //儒略日数转公历
			jd+=0.5;
			var A=int2(jd), F=jd-A, D;  //取得日数的整数部份A及小数部分F
			if(A>=2299161) D=int2((A-1867216.25)/36524.25),A+=1+D-int2(D/4);
			A     +=1524; //向前移4年零2个月
			this.Y =int2((A-122.1)/365.25);//年
			D      =A-int2(365.25*this.Y); //去除整年日数后余下日数
			this.M =int2(D/30.6001);       //月数
			this.D =D-int2(this.M*30.6001);//去除整月日数后余下日数
			this.Y-=4716; this.M--;
			if(this.M>12) this.M-=12;
			if(this.M<=2) this.Y++;
			//日的小数转为时分秒
			F*=24; this.h=int2(F); F-=this.h;
			F*=60; this.m=int2(F); F-=this.m;
			F*=60; this.s=F;
		},
		
		/**
		 * 日期转为串。
		 */
		toStr : function(){ //日期转为串
			var Y="     "+this.Y,M="0"+this.M, D="0"+this.D;
			var h=this.h,m=this.m,s=int2(this.s+.5);
			if(s>=60) s-=60,m++;
			if(m>=60) m-=60,h++;
			h="0"+h; m="0"+m; s="0"+s;
			Y=Y.substr(Y.length-5,5); M=M.substr(M.length-2,2); D=D.substr(D.length-2,2);
			h=h.substr(h.length-2,2); m=m.substr(m.length-2,2); s=s.substr(s.length-2,2);
			return Y+"-"+M+"-"+D+" "+h+":"+m+":"+s;
		},
		
		/**
		 * 提取jd中的时间(去除日期)。
		 */
		timeStr : function(jd){ //提取jd中的时间(去除日期)
			var h,m,s;
			jd+=0.5; jd = (jd - int2(jd));
			jd*=24; h = int2(jd); jd-=h;
			jd*=60; m = int2(jd); jd-=m;
			jd*=60; s = int2(jd+0.5);
			if(s>=60) s-=60,m++;
			if(m>=60) m-=60,h++;
			h="0"+h; m="0"+m; s="0"+s;
			return h.substr(h.length-2,2)+':'+m.substr(m.length-2,2)+':'+s.substr(s.length-2,2);
		}
	};
	
	/**
	 * 坐标变换物件，包含坐标旋转、章动、日月光行差(时)、视差、大气折射、恒星时的计算。
	 */
	var ZB = { //坐标类
		/**
		 * 球面坐标旋转。
		 */
		llrConv : function(JW,E){ //球面坐标旋转
			//黄道赤道坐标变换,赤到黄E取负
			var sinE =Math.sin(E),    cosE =Math.cos(E);
			var sinJ =Math.sin(JW[0]),cosJ =Math.cos(JW[0]);
			var sinW =Math.sin(JW[1]),cosW =Math.cos(JW[1]), tanW=Math.tan(JW[1]);
			JW[0]=Math.atan2( sinJ*cosE - tanW*sinE, cosJ );
			JW[1]=Math.asin ( cosE*sinW + sinE*cosW*sinJ  );
			JW[0]=rad2mrad(JW[0]);
		},
		
		/**
		 *
		 */
		nutB : new Array(
			2.1824,  -33.75705, 36e-6,-1720,920,  3.5069, 1256.66393, 11e-6,-132, 57,
			1.3375,16799.4182, -51e-6, -23, 10,   4.3649,  -67.5141,  72e-6,  21, -9,
			0.04,   -628.302,   0,     -14,  0,   2.36,   8328.691,   0,       7,  0,
			3.46,   1884.966,   0,      -5,  2,   5.44,  16833.175,   0,      -4,  2,
			3.69,  25128.110,   0,      -3,  0,   3.55,    628.362,   0,       2,  0),
		
		/**
		 * 章动计算,t是世纪数。
		 */
		nutation : function(t){ //章动计算,t是世纪数
			var i,c,a, t2=t*t, B=this.nutB, dL=0,dE=0;
			for(i=0;i<B.length;i+=5){
			c = B[i]+B[i+1]*t+B[i+2]*t2;
			if(i==0) a=-1.742*t; else a=0;
			dL+=(B[i+3]+a)*Math.sin(c);
			dE+= B[i+4]   *Math.cos(c);
			}
			this.dL=dL/100/rad;  //黄经章动
			this.dE=dE/100/rad;  //交角章动
		},
		
		/**
		 * 只计算黄经章动。
		 */
		nutationLon : function(t){ //只计算黄经章动
			var i,a, t2=t*t, dL=0, B=this.nutB;
			for(i=0;i<B.length;i+=5){
			if(i==0) a=-1.742*t; else a=0;
			dL += (B[i+3]+a) * Math.sin( B[i]+B[i+1]*t+B[i+2]*t2 );
			}
			return dL/100/rad;
		},
		
		/**
		 * 返回黄赤交角,t是世纪数。
		 */
		hcjj : function(t){ //返回黄赤交角,t是世纪数
			var t2=t*t, t3=t2*t,t4=t3*t;
			return (84381.4088 -46.836051*t -0.0001667*t2 -0.00199911*t3-0.000000523*t4)/rad;
		},
		
		/**
		 * 传入T是2000年首起算的日数(UT),dt是deltatT(日),精度要求不高时dt可取值为0。
		 */
		gst : function(T,dt){ //传入T是2000年首起算的日数(UT),dt是deltatT(日),精度要求不高时dt可取值为0
			//返回格林尼治恒星时(不含赤经章动及非多项式部分),即格林尼治子午圈的平春风点起算的赤经
			var t=(T+dt)/36525,t2=t*t, t3=t2*t, t4=t3*t;
			return pi2*(0.7790572732640 + 1.00273781191135448*T) //严格说这里的T是UT,下一行的t是力学时(世纪数)
			  + (0.014506 + 4612.15739966*t + 1.39667721*t2 - 0.00009344*t3 + 0.00001882*t4)/rad;
		},
		
		/**
		 * 太阳光行差,t是世纪数。
		 */
		gxc_sunLon : function(t){ //太阳光行差,t是世纪数
			var v =-0.043126+ 628.301955*t -0.000002732*t*t; //平近点角
			var e = 0.016708634-0.000042037*t-0.0000001267*t*t;
			return  ( -20.49552 * (1+e*Math.cos(v)) )/rad; //黄经光行差
		},
		
		/**
		 * 黄纬光行差。
		 */
		gxc_sunLat : function(t) { return 0; }, //黄纬光行差
		
		/**
		 * 月球经度光行差,误差0.07"。
		 */
		gxc_moonLon : function(t){ return -3.4E-6; }, //月球经度光行差,误差0.07"
		
		/**
		 * 月球纬度光行差,误差0.006"。
		 */
		gxc_moonLat:function(t){ //月球纬度光行差,误差0.006"
			return 0.063*Math.sin(0.057+8433.4662*t+0.000064*t*t)/rad;
		},
		
		/**
		 * 大气折射,ho是视高度。
		 */
		AR : function(ho){ return -0.0002909/Math.tan( ho+0.002227/(ho+0.07679) ); }, //大气折射,ho是视高度
		
		/**
		 * 大气折射,h是真高度。
		 */
		AR2 : function(h){ return  0.0002967/Math.tan( h +0.003138/( h+0.08919) ); }, //大气折射,h是真高度
		
		/**
		 * 视差修正。
		 */
		parallax : function(z,H,fa,high){ //视差修正
			//z赤道坐标,fa地理纬度,H时角,high海拔(千米)
			var sinP = 8.794/rad/z[2]; //赤道地平视差,z[2]应以AU为单位
			var ba   = 0.99664719;
			var u    = Math.atan(ba*Math.tan(fa));
			var sinD = -sinP*(Math.sin(u)*ba+ high*Math.sin(fa)/6378.14);
			var cosD = -sinP*(Math.cos(u)   + high*Math.cos(fa)/6378.14);

			var sinH = Math.sin(H),    cosH = Math.cos(H);
			var sinW = Math.sin(z[1]), cosW = Math.cos(z[1]);
			var a = Math.atan( cosD*sinH / (cosW+cosD*cosH) );
			z[1]  = Math.atan( (sinW+sinD) / (cosW+cosD*cosH) * Math.cos(a) );
			z[0]  = rad2mrad( z[0]+a );
		}
	};

	/**
	 * 日月黄道平分点坐标、视坐标、速度、已知经度反求时间等方面的计算。
	 */
	var XL={ //星历类
		//==========================
		EL : new Array(//以下是地球黄经数据,最大误差0.25"
				new Array(//EL0
					33416565,4.6692568,6283.07584999,
					348943,4.626102,12566.1517,34971,2.74412,5753.38488,34176,2.82887,3.52312,31359,3.62767,77713.77147,
					26762,4.41808,7860.41939,23427,6.13516,3930.2097,13243,0.74246,11506.76977,12732,2.0371,529.69097,
					11992,1.10963,1577.34354,9903,5.2327,5884.9268,9019,2.0451,26.2983,8572,3.5085,398.149,
					7798,1.1788,5223.6939,7531,2.5334,5507.5532,5053,4.5829,18849.2275,4924,4.2051,775.5226,
					3567,2.9195,0.0673,3171,5.849,11790.6291,2841,1.8987,796.298,2710,0.3149,10977.0788,
					2428,0.3448,5486.7778,2062,4.8065,2544.3144,2054,1.8695,5573.1428,2023,2.4577,6069.7768,
					1555,0.8331,213.2991,1322,3.4112,2942.4634,1262,1.083,20.7754,1151,0.6454,0.9803,
					1029,0.636,4694.003,1019,0.9757,15720.8388,1017,4.2668,7.1135,992,6.21,2146.165,
					976,0.681,155.42,858,5.983,161000.686,851,1.299,6275.962,847,3.671,71430.696,
					796,1.808,17260.155,788,3.037,12036.461,747,1.755,5088.629,739,3.503,3154.687,
					735,4.679,801.821,696,0.833,9437.763,624,3.978,8827.39,611,1.818,7084.897,
					570,2.784,6286.599,561,4.387,14143.495,556,3.47,6279.553,520,0.189,12139.554,
					516,1.333,1748.016,511,0.283,5856.478,490,0.487,1194.447,410,5.368,8429.241,
					409,2.399,19651.048,392,6.168,10447.388,368,6.041,10213.286,366,2.57,1059.382,
					360,1.709,2352.866,356,1.776,6812.767,333,0.593,17789.846,304,0.443,83996.847,
					300,2.74,1349.867,254,3.165,4690.48,247,0.215,3.59,237,0.485,8031.092,
					236,2.065,3340.612,228,5.222,4705.732,219,5.556,553.569,214,1.426,16730.464,
					211,4.148,951.718,203,0.371,283.859,199,5.222,12168.003,199,5.775,6309.374,
					191,3.822,23581.258,189,5.386,149854.4,179,2.215,13367.973,175,4.561,135.065,
					162,5.988,11769.854,151,4.196,6256.778,144,4.193,242.729,143,3.724,38.028,
					140,4.401,6681.225,136,1.889,7632.943,125,1.131,5.523,121,2.622,955.6,
					120,1.004,632.784,113,0.177,4164.312,108,0.327,103.093,105,0.939,11926.254,
					105,5.359,1592.596,103,6.2,6438.496,100,6.029,5746.271,98,1,11371.7,
					98,5.24,27511.47,94,2.62,5760.5,92,0.48,522.58,92,4.57,4292.33,
					90,5.34,6386.17,86,4.17,7058.6,84,3.3,7234.79,84,4.54,25132.3,
					81,6.11,4732.03,81,6.27,426.6,80,5.82,28.45,79,1,5643.18,
					78,2.96,23013.54,77,3.12,7238.68,76,3.97,11499.66,73,4.39,316.39,
					73,0.61,11513.88,72,4,74.78,71,0.32,263.08,68,5.91,90955.55,
					66,3.66,17298.18,65,5.79,18073.7,63,4.72,6836.65,62,1.46,233141.31,
					61,1.07,19804.83,60,3.32,6283.01,60,2.88,6283.14,55,2.45,12352.85),
				new Array(//EL1
					2060589,2.6782346,6283.07585,43034,2.63513,12566.1517,4253,1.5905,3.5231,1193,5.7956,26.2983,
					1090,2.9662,1577.3435,935,2.592,18849.228,721,1.138,529.691,678,1.875,398.149,
					673,4.409,5507.553,590,2.888,5223.694,560,2.175,155.42,454,0.398,796.298,
					364,0.466,775.523,290,2.647,7.114,208,5.341,0.98,191,1.846,5486.778,
					185,4.969,213.299,173,2.991,6275.962,162,0.032,2544.314,158,1.43,2146.165,
					146,1.205,10977.079,125,2.834,1748.016,119,3.258,5088.629,118,5.274,1194.447,
					115,2.075,4694.003,106,0.766,553.569,100,1.303,6286.599,97,4.24,1349.87,
					95,2.7,242.73,86,5.64,951.72,76,5.3,2352.87,64,2.65,9437.76,
					61,4.67,4690.48,58,1.77,1059.38,53,0.91,3154.69,52,5.66,71430.7,
					52,1.85,801.82,50,1.42,6438.5,43,0.24,6812.77,43,0.77,10447.39,
					41,5.24,7084.9,37,2,8031.09,36,2.43,14143.5,35,4.8,6279.55,
					34,0.89,12036.46,34,3.86,1592.6,33,3.4,7632.94,32,0.62,8429.24,
					32,3.19,4705.73,30,6.07,4292.33,30,1.43,5746.27,29,2.32,20.36,
					27,0.93,5760.5,27,4.8,7234.79,25,6.22,6836.65,23,5,17789.85,
					23,5.67,11499.66,21,5.2,11513.88,21,3.96,10213.29,21,2.27,522.58,
					21,2.22,5856.48,21,2.55,25132.3,20,0.91,6256.78,19,0.53,3340.61,
					19,4.74,83996.85,18,1.47,4164.31,18,3.02,5.52,18,3.03,5753.38,
					16,4.64,3.29,16,6.12,5216.58,16,3.08,6681.22,15,4.2,13367.97,
					14,1.19,3894.18,14,3.09,135.07,14,4.25,426.6,13,5.77,6040.35,
					13,3.09,5643.18,13,2.09,6290.19,13,3.08,11926.25,12,3.45,536.8),
				new Array(//EL2
					87198,1.0721,6283.07585,3091,0.8673,12566.1517,273,0.053,3.523,163,5.188,26.298,
					158,3.685,155.42,95,0.76,18849.23,89,2.06,77713.77,70,0.83,775.52,
					51,4.66,1577.34,41,1.03,7.11,38,3.44,5573.14,35,5.14,796.3,
					32,6.05,5507.55,30,1.19,242.73,29,6.12,529.69,27,0.31,398.15,
					25,2.28,553.57,24,4.38,5223.69,21,3.75,0.98,17,0.9,951.72,
					15,5.76,1349.87,14,4.36,1748.02,13,3.72,1194.45,13,2.95,6438.5,
					12,2.97,2146.17,11,1.27,161000.69,10,0.6,3154.69,10,5.99,6286.6,
					9,4.8,5088.63,9,5.23,7084.9,8,3.31,213.3,8,3.42,5486.78,
					7,6.19,4690.48,7,3.43,4694,6,1.6,2544.31,6,1.98,801.82,
					6,2.48,10977.08,5,1.44,6836.65,5,2.34,1592.6,5,1.31,4292.33,
					5,3.81,149854.4,4,0.04,7234.79,4,4.94,7632.94,4,1.57,71430.7,
					4,3.17,6309.37,3,0.99,6040.35,3,0.67,1059.38,3,3.18,2352.87,
					3,3.55,8031.09,3,1.92,10447.39,3,2.52,6127.66,3,4.42,9437.76,
					3,2.71,3894.18,3,0.67,25132.3,3,5.27,6812.77,3,0.55,6279.55),
				new Array(2892,5.8438,6283.0758,168,5.488,12566.152,30,5.2,155.42,13,4.72,3.52,7,5.3,18849.23,6,5.97,242.73,4,3.79,553.57,1,4.3,6286.6,1,0.91,6127.66),//EL3
				new Array(77,4.13,6283.08,8,3.84,12566.15,4,0.42,155.42),//EL4
				new Array(2,2.77,6283.08,1,2.01,155.42)//EL5
			),

		EB : new Array(//地球黄纬数据,误差0.2"
				new Array(2796,3.1987,84334.6616,1016,5.4225,5507.5532,804,3.88,5223.694,438,3.704,2352.866,319,4,1577.344,227,3.985,1047.747),//EB0
				new Array(90,3.9,5507.55,62,1.73,5223.69),//EB1
				new Array(17,1.63,84334.66)//EB2
			),

		ER : new Array(//地球向径数据,误差0.00001AU
				new Array(//ER0
					1000139888,0,0,16706996,3.09846351,6283.07584999,
					139560,3.055246,12566.1517,30837,5.19847,77713.77147,
					16285,1.17388,5753.38488,15756,2.84685,7860.41939,
					9248,5.4529,11506.7698,5424,4.5641,3930.2097,
					4721,3.661,5884.9268,3460,0.9637,5507.5532,
					3288,5.8998,5223.6939,3068,0.2987,5573.1428,
					2432,4.2735,11790.6291,2118,5.8471,1577.3435,
					1858,5.0219,10977.0788,1748,3.0119,18849.2275),
				new Array(1030186,1.1074897,6283.07585,17212,1.06442,12566.1517,7022,3.1416,0),//ER1
				new Array(43594,5.78455,6283.07585,1236,5.5793,12566.1517,123,3.142,0,88,3.63,77713.77),//ER2
				new Array(1446,4.2732,6283.0758,67,3.92,12566.15),//ER3
				new Array(39,2.56,6283.08,3,2.27,12566.15),//ER4
				new Array(1,1.22,6283.08)//ER5
			),

		//以下是月球黄经周期项及泊松项,精度3角秒,平均误差0.5角秒
		//各坐标均是余弦项,各列单位:角秒,1,1,1e-4,1e-8,1e-8
		ML : new Array(
				new Array(//ML0
					22639.59,0.784758,8328.6914246,1.52292,25.07,-0.1236,4586.44,0.18740,7214.0628654,-2.1848,-18.86,0.083,
					2369.91,2.54295,15542.754290,-0.6618,6.2,-0.041,769.03,3.1403,16657.382849,3.046,50.1,-0.25,
					666.42,1.5277,628.301955,-0.027,0.1,-0.01,411.60,4.8266,16866.932315,-1.280,-1.1,-0.01,
					211.66,4.1150,-1114.62856,-3.708,-44,0.21,205.44,0.2305,6585.76091,-2.158,-19,0.09,
					191.96,4.8985,23871.44571,0.861,31,-0.16,164.73,2.5861,14914.45233,-0.635,6,-0.04,
					147.32,5.4553,-7700.38947,-1.550,-25,0.12,124.99,0.4861,7771.37714,-0.331,3,-0.02,
					109.38,3.8832,8956.99338,1.496,25,-0.1,55.18,5.570,-1324.17803,0.62,7,0,
					45.10,0.899,25195.62374,0.24,24,-0.1,39.53,3.812,-8538.24089,2.80,26,-0.1,
					38.43,4.301,22756.81716,-2.85,-13,0,36.12,5.496,24986.07427,4.57,75,-0.4,
					30.77,1.946,14428.1257,-4.37,-38,0.2,28.40,3.286,7842.3648,-2.21,-19,0.1,
					24.36,5.641,16171.0562,-0.69,6,0,18.58,4.414,-557.3143,-1.85,-22,0.1,
					17.95,3.585,8399.6791,-0.36,3,0,14.53,4.942,23243.1438,0.89,31,-0.2,
					14.38,0.971,32200.1371,2.38,56,-0.3,14.25,5.764,-2.3012,1.52,25,-0.1,
					13.90,0.374,31085.5086,-1.32,12,-0.1,13.19,1.759,-9443.3200,-5.23,-69,0.3,
					9.68,3.100,-16029.0809,-3.1,-50,0,9.37,0.30,24080.9952,-3.5,-20,0,
					8.61,4.16,-1742.9305,-3.7,-44,0,8.45,2.84,16100.0686,1.2,28,0,
					8.05,2.63,14286.1504,-0.6,6,0,7.63,6.24,17285.6848,3.0,50,0,
					7.45,1.48,1256.6039,-0.1,0,0,7.37,0.27,5957.4590,-2.1,-19,0,
					7.06,5.67,33.7570,-0.3,-4,0,6.38,4.78,7004.5134,2.1,32,0,
					5.74,2.66,32409.6866,-1.9,5,0,4.37,4.34,22128.5152,-2.8,-13,0,
					4.00,3.25,33524.3152,1.8,49,0,3.21,2.24,14985.4400,-2.5,-16,0,
					2.91,1.71,24499.748,0.8,31,0,2.73,1.99,13799.824,-4.3,-38,0,
					2.57,5.41,-7072.088,-1.6,-25,0,2.52,3.24,8470.667,-2.2,-19,0,
					2.49,4.07,-486.327,-3.7,-44,0,2.15,5.61,-1952.480,0.6,7,0,
					1.98,2.73,39414.200,0.2,37,0,1.93,1.57,33314.766,6.1,100,0,
					1.87,0.42,30457.207,-1.3,12,0,1.75,2.06,-8886.006,-3.4,-47,0,
					1.44,2.39,-695.876,0.6,7,0,1.37,3.03,-209.549,4.3,51,0,
					1.26,5.94,16728.371,1.2,28,0,1.22,6.17,6656.749,-4.0,-41,0,
					1.19,5.87,6099.434,-5.9,-63,0,1.18,1.01,31571.835,2.4,56,0,
					1.16,3.84,9585.295,1.5,25,0,1.14,5.64,8364.740,-2.2,-19,0,
					1.08,1.23,70.988,-1.9,-22,0,1.06,3.33,40528.829,3.9,81,0,
					0.99,5.01,40738.378,0,30,0,0.95,5.7,-17772.011,-7,-94,0,
					0.88,0.3,-0.352,0,0,0,0.82,3.0,393.021,0,0,0,
					0.79,1.8,8326.390,3,50,0,0.75,5.0,22614.842,1,31,0,
					0.74,2.9,8330.993,0,0,0,0.67,0.7,-24357.772,-5,-75,0,
					0.64,1.3,8393.126,-2,-19,0,0.64,5.9,575.338,0,0,0,
					0.64,1.1,23385.119,-3,-13,0,0.58,5.2,24428.760,3,53,0,
					0.58,3.5,-9095.555,1,0,0,0.57,6.1,29970.880,-5,-32,0,
					0.56,3.0,0.329,2,25,0,0.56,4.0,-17981.561,-2,-43,0,
					0.56,0.5,7143.075,0,0,0,0.55,2.3,25614.376,5,75,0,
					0.54,4.2,15752.304,-5,-45,0,0.49,3.3,-8294.934,-2,-29,0,
					0.49,1.7,8362.448,1,21,0,0.48,1.8,-10071.622,-5,-69,0,
					0.45,0.9,15333.205,4,57,0,0.45,2.1,8311.771,-2,-19,0,
					0.43,0.3,23452.693,-3,-20,0,0.42,4.9,33733.865,-3,0,0,
					0.41,1.6,17495.234,-1,0,0,0.40,1.5,23314.131,-1,9,0,
					0.39,2.1,38299.571,-4,-6,0,0.38,2.7,31781.385,-2,5,0,
					0.37,4.8,6376.211,2,32,0,0.36,3.9,16833.175,-1,0,0,
					0.36,5.0,15056.428,-4,-38,0,0.35,5.2,-8257.704,-3,0,0,
					0.34,4.2,157.734,0,0,0,0.34,2.7,13657.848,-1,0,0,
					0.33,5.6,41853.007,3,74,0,0.32,5.9,-39.815,0,0,0,
					0.31,4.4,21500.21,-3,0,0,0.30,1.3,786.04,0,0,0,
					0.30,5.3,-24567.32,0,0,0,0.30,1.0,5889.88,-2,0,0,
					0.29,4.2,-2371.23,-4,0,0,0.29,3.7,21642.19,-7,-57,0,
					0.29,4.1,32828.44,2,56,0,0.29,3.5,31713.81,-1,0,0,
					0.29,5.4,-33.78,0,0,0,0.28,6.0,-16.92,-4,0,0,
					0.28,2.8,38785.90,0,0,0,0.27,5.3,15613.74,-3,0,0,
					0.26,4.0,25823.93,0,0,0,0.25,0.6,24638.31,-2,0,0,
					0.25,1.3,6447.20,0,0,0,0.25,0.9,141.98,-4,0,0,
					0.25,0.3,5329.16,-2,0,0,0.25,0.1,36.05,-4,0,0,
					0.23,2.3,14357.14,-2,0,0,0.23,5.2,2.63,0,0,0,
					0.22,5.1,47742.89,2,63,0,0.21,2.1,6638.72,-2,0,0,
					0.20,4.4,39623.75,-4,0,0,0.19,2.1,588.49,0,0,0,
					0.19,3.1,-15400.78,-3,-50,0,0.19,5.6,16799.36,-1,0,0,
					0.18,3.9,1150.68,0,0,0,0.18,1.6,7178.01,2,0,0,
					0.18,2.6,8328.34,2,0,0,0.18,2.1,8329.04,2,0,0,
					0.18,3.2,-9652.87,-1,0,0,0.18,1.7,-8815.02,-5,-69,0,
					0.18,5.7,550.76,0,0,0,0.17,2.1,31295.06,-6,0,0,
					0.17,1.2,7211.76,-1,0,0,0.16,4.5,14967.42,-1,0,0,
					0.16,3.6,15540.45,1,0,0,0.16,4.2,522.37,0,0,0,
					0.16,4.6,15545.06,-2,0,0,0.16,0.5,6428.02,-2,0,0,
					0.16,2.0,13171.52,-4,0,0,0.16,2.3,7216.36,-4,0,0,
					0.15,5.6,7935.67,2,0,0,0.15,0.5,29828.90,-1,0,0,
					0.15,1.2,-0.71,0,0,0,0.15,1.4,23942.43,-1,0,0,
					0.14,2.8,7753.35,2,0,0,0.14,2.1,7213.71,-2,0,0,
					0.14,1.4,7214.42,-2,0,0,0.14,4.5,-1185.62,-2,0,0,
					0.14,3.0,8000.10,-2,0,0,0.13,2.8,14756.71,-1,0,0,
					0.13,5.0,6821.04,-2,0,0,0.13,6.0,-17214.70,-5,-72,0,
					0.13,5.3,8721.71,2,0,0,0.13,4.5,46628.26,-2,0,0,
					0.13,5.9,7149.63,2,0,0,0.12,1.1,49067.07,1,55,0,
					0.12,2.9,15471.77,1,0,0),
				new Array(//ML1
					1.677,4.669,628.30196,-0.03,0,0,0.516,3.372,6585.7609,-2.16,-19,0.1,
					0.414,5.728,14914.4523,-0.64,6,0,0.371,3.969,7700.3895,1.55,25,0,
					0.276,0.74,8956.9934,1.5,25,0,0.246,4.23,-2.3012,1.5,25,0,
					0.071,0.14,7842.365,-2.2,-19,0,0.061,2.50,16171.056,-0.7,6,0,
					0.045,0.44,8399.679,-0.4,0,0,0.040,5.77,14286.150,-0.6,6,0,
					0.037,4.63,1256.604,-0.1,0,0,0.037,3.42,5957.459,-2.1,-19,0,
					0.036,1.80,23243.144,0.9,31,0,0.024,0,16029.081,3,50,0,
					0.022,1.0,-1742.931,-4,-44,0,0.019,3.1,17285.685,3,50,0,
					0.017,1.3,0.329,2,25,0,0.014,0.3,8326.390,3,50,0,
					0.013,4.0,7072.088,2,25,0,0.013,4.4,8330.993,0,0,0,
					0.013,0.1,8470.667,-2,-19,0,0.011,1.2,22128.515,-3,0,0,
					0.011,2.5,15542.754,-1,0,0,0.008,0.2,7214.06,-2,0,0,
					0.007,4.9,24499.75,1,0,0,0.007,5.1,13799.82,-4,0,0,
					0.006,0.9,-486.33,-4,0,0,0.006,0.7,9585.30,1,0,0,
					0.006,4.1,8328.34,2,0,0,0.006,0.6,8329.04,2,0,0,
					0.005,2.5,-1952.48,1,0,0,0.005,2.9,-0.71,0,0,0,
					0.005,3.6,30457.21,-1,0,0),
				new Array(//ML2
					0.0049,4.67,628.3020,0,0,0,0.0023,2.67,-2.301,1.5,25,0,
					0.0015,3.37,6585.761,-2.2,-19,0,0.0012,5.73,14914.452,-0.6,6,0,
					0.0011,3.97,7700.389,2,25,0,0.0008,0.7,8956.993,1,25,0)
			),

		MB : new Array( //精度3角秒
				new Array(//MB0
					18461.24,0.057109,8433.4661575,-0.64006,-0.53,-0.0029,1010.17,2.41266,16762.157582,0.883,24.5,-0.13,
					999.69,5.44004,-104.774733,2.163,25.6,-0.12,623.65,0.9150,7109.288132,-0.022,6.7,-0.04,
					199.48,1.8153,15647.52902,-2.825,-19,0.08,166.57,4.8427,-1219.40329,-1.545,-18,0.09,
					117.26,4.1709,23976.22045,-1.302,6,-0.04,61.91,4.768,25090.84901,2.41,50,-0.3,
					33.36,3.271,15437.97956,1.50,32,-0.2,31.76,1.512,8223.91669,3.69,51,-0.2,
					29.58,0.958,6480.9862,0,7,0,15.57,2.487,-9548.0947,-3.07,-43,0.2,
					15.12,0.243,32304.9119,0.22,31,-0.2,12.09,4.014,7737.5901,-0.05,7,0,
					8.87,1.86,15019.2271,-2.8,-19,0,8.05,5.38,8399.7091,-0.3,3,0,
					7.96,4.21,23347.9185,-1.3,6,0,7.43,4.89,-1847.7052,-1.5,-18,0,
					6.73,3.83,-16133.8556,-0.9,-24,0,6.58,2.67,14323.3510,-2.2,-12,0,
					6.46,3.16,9061.7681,-0.7,0,0,6.30,0.17,25300.3985,-1.9,-2,0,
					5.63,0.80,733.0767,-2.2,-26,0,5.37,2.11,16204.8433,-1.0,3,0,
					5.31,5.51,17390.4595,0.9,25,0,5.08,2.26,523.5272,2.1,26,0,
					4.84,6.18,-7805.1642,0.6,1,0,4.81,5.14,-662.0890,0.3,4,0,
					3.98,0.84,33419.5404,3.9,75,0,3.67,5.03,22652.0424,-0.7,13,0,
					3.00,5.93,31190.283,-3.5,-13,0,2.80,2.18,-16971.707,3.4,27,0,
					2.41,3.57,22861.592,-5.0,-38,0,2.19,3.94,-9757.644,1.3,8,0,
					2.15,5.63,23766.671,3.0,57,0,1.77,3.31,14809.678,1.5,32,0,
					1.62,2.60,7318.838,-4.3,-44,0,1.58,3.87,16552.608,5.2,76,0,
					1.52,2.60,40633.603,1.7,56,0,1.52,0.13,-17876.786,-4.6,-68,0,
					1.51,3.93,8399.685,-0.3,0,0,1.32,4.91,16275.831,-2.9,-19,0,
					1.26,0.99,24604.522,-1.3,6,0,1.19,2.00,39518.975,-2.0,12,0,
					1.13,0.29,31676.610,0.2,31,0,1.09,1.00,5852.684,0,7,0,
					1.02,2.53,33629.090,0,23,0,0.82,0.1,16066.282,1,32,0,
					0.80,2.0,-33.787,0,0,0,0.80,5.2,16833.145,-1,0,0,
					0.79,1.5,-24462.547,-2,-50,0,0.79,1.7,-591.101,-2,-18,0,
					0.67,4.5,24533.535,1,28,0,0.65,2.5,-10176.397,-3,-43,0,
					0.64,1.6,25719.151,2,50,0,0.63,0.3,5994.660,-4,-37,0,
					0.63,2.1,8435.767,-2,-26,0,0.63,1.1,8431.165,1,25,0,
					0.60,2.7,13695.049,-2,-12,0,0.59,1.2,7666.602,2,29,0,
					0.47,1.1,30980.734,1,38,0,0.46,0.1,-71.018,2,22,0,
					0.43,2.8,-8990.780,-1,-21,0,0.42,1.5,16728.401,1,28,0,
					0.41,5.1,22023.740,-1,13,0,0.38,4.3,22719.617,-1,6,0,
					0.35,3.0,14880.665,0,10,0,0.34,6.0,30561.981,-3,0,0,
					0.33,1.6,-18086.336,0,0,0,0.33,1.0,8467.223,-1,0,0,
					0.31,1.9,14390.93,-3,0,0,0.31,4.6,8852.22,4,51,0,
					0.31,0.6,6551.97,-2,0,0,0.30,4.7,-7595.61,-4,-51,0,
					0.30,1.9,7143.05,0,0,0,0.29,3.2,-1428.95,3,0,0,
					0.27,4.9,-2476.01,-1,0,0,0.26,3.2,41748.23,5,100,0,
					0.25,3.4,-1009.85,-6,-70,0,0.24,1.9,32514.46,-4,0,0,
					0.24,3.3,32933.21,0,0,0,0.21,3.6,22233.29,-5,0,0,
					0.21,4.4,47847.67,0,0,0,0.21,3.9,23418.91,-3,0,0,
					0.17,5.8,14951.65,-2,0,0,0.16,2.0,38890.67,-2,0,0),
				new Array(//MB1
					0.074,4.10,6480.986,0,7,0,0.030,0.9,7737.590,0,7,0,
					0.022,5.0,15019.227,-3,-19,0,0.020,1.1,23347.918,-1,6,0,
					0.019,1.7,-1847.705,-2,-18,0,0.017,5.6,16133.856,1,24,0,
					0.016,0,9061.768,-1,0,0,0.014,3.9,733.077,-2,-26,0,
					0.013,2.4,17390.460,1,25,0,0.013,5.6,8399.685,0,0,0,
					0.013,0.9,-523.527,-2,-26,0,0.012,3.2,7805.164,-1,0,0,
					0.011,3.7,8435.767,-2,0,0,0.011,5.9,8431.165,1,0,0)
			),

		MR : new Array( //精度3千米
				new Array(//MR0
					385000.5,0,0,0,0,0,
					20905.4,5.497147,8328.6914246,1.52292,25.07,-0.1236,3699.1,4.89979,7214.062865,-2.1848,-18.9,0.083,
					2956.0,0.97216,15542.754290,-0.6618,6.2,-0.041,569.9,1.5695,16657.382849,3.046,50,-0.25,
					246.2,5.6858,-1114.62856,-3.708,-44,0.21,204.6,1.0153,14914.45233,-0.635,6,-0.04,
					170.7,3.3277,23871.44571,0.86,31,-0.2,152.1,4.943,6585.76091,-2.16,-19,0.1,
					129.6,0.743,-7700.38947,-1.55,-25,0.1,108.7,5.198,7771.37714,-0.33,3,0,
					104.8,2.312,8956.99338,1.50,25,-0.1,79.7,5.383,-8538.24089,2.80,26,-0.1,
					48.9,6.240,628.3020,-0.03,0,0,34.8,2.730,22756.8172,-2.85,-13,0,
					30.8,4.071,16171.0562,-0.69,6,0,24.2,1.715,7842.3648,-2.21,-19,0.1,
					23.2,3.925,24986.0743,4.57,75,-0.4,21.6,0.375,14428.1257,-4.37,-38,0.2,
					16.7,2.014,8399.6791,-0.4,3,0,14.4,3.33,-9443.3200,-5.2,-69,0,
					12.8,3.37,23243.1438,0.9,31,0,11.6,5.09,31085.5086,-1.3,12,0,
					10.4,5.68,32200.1371,2.4,56,0,10.3,0.86,-1324.1780,0.6,7,0,
					10.1,5.73,-1742.9305,-3.7,-44,0,9.9,1.06,14286.1504,-0.6,6,0,
					8.8,4.79,-9652.8694,-0.9,-18,0,8.4,5.98,-557.3143,-1.9,-22,0,
					7.0,4.67,-16029.0809,-3.1,-50,0,6.3,1.27,16100.0686,1.2,28,0,
					5.8,4.67,17285.6848,3.0,50,0,5.0,4.99,5957.459,-2.1,-19,0,
					4.4,4.60,-209.549,4.3,51,0,4.1,3.21,7004.513,2.1,32,0,
					4.0,2.77,22128.515,-2.8,-13,0,3.3,0.67,14985.440,-2.5,-16,0,
					3.1,0.11,16866.932,-1.3,0,0,2.6,0.14,24499.748,0.8,31,0,
					2.4,1.67,8470.667,-2.2,-19,0,2.1,0.70,-7072.088,-1.6,-25,0,
					1.9,0.42,13799.824,-4.3,-38,0,1.7,3.63,-8886.006,-3,-47,0,
					1.6,5.1,30457.207,-1,12,0,1.4,1.2,39414.200,0,37,0,
					1.4,6.2,23314.131,-1,9,0,1.2,2.3,9585.295,1,25,0,
					1.1,6.3,33314.766,6,100,0,1.1,6.2,1256.604,0,0,0,
					1.1,4.1,8364.740,-2,-19,0,0.9,4.4,16728.371,1,28,0,
					0.9,4.6,6656.749,-4,-41,0,0.9,2.8,70.988,-2,-22,0,
					0.8,5.7,31571.835,2,56,0,0.8,5.1,-9095.555,1,0,0,
					0.8,1.0,-17772.011,-7,-94,0,0.8,2.7,15752.304,-5,-45,0,
					0.7,0.3,8326.390,3,50,0,0.7,1.3,8330.993,0,0,0,
					0.7,1.8,40528.829,4,81,0,0.7,3.4,22614.842,1,31,0,
					0.7,0.9,-1952.480,1,7,0,0.6,6.0,8393.126,-2,-19,0,
					0.6,5.0,24080.995,-3,-20,0,0.6,5.8,23385.119,-3,0,0,
					0.5,4.3,6099.43,-6,-63,0,0.5,1.8,14218.58,0,0,0,
					0.5,5.2,7143.08,0,0,0,0.5,3.4,-10071.62,-5,-69,0,
					0.5,2.4,-17981.56,-2,0,0,0.5,4.9,-8294.93,-2,0,0,
					0.5,0.2,8362.45,1,0,0,0.4,4.5,29970.88,-5,0,0,
					0.4,2.3,-24357.77,-5,-75,0,0.4,1.1,13657.85,-1,0,0,
					0.4,0.5,8311.77,-2,0,0,0.4,3.6,24428.76,3,53,0,
					0.4,0.7,25614.38,5,75,0,0.3,5.8,-2371.23,-4,0,0,
					0.3,0.9,9166.54,-3,0,0,0.3,0.4,-8257.70,-3,0,0,
					0.3,4.8,-10281.17,-1,0,0,0.3,5.8,5889.88,-2,0,0,
					0.3,0.6,38299.57,-4,0,0,0.3,5.6,15333.20,4,57,0,
					0.3,2.8,21500.21,-3,0,0,0.3,0.7,14357.14,-2,0,0),
				new Array(//MR1
					0.514,4.16,14914.4523,-0.6,6,0,0.382,1.80,6585.7609,-2.2,-19,0,
					0.327,2.40,7700.3895,1.5,25,0,0.264,5.45,8956.9934,1.5,25,0,
					0.123,3.10,628.302,0,0,0,0.078,0.93,16171.056,-0.7,6,0,
					0.061,4.86,7842.365,-2.2,-19,0,0.050,4.2,14286.150,-1,6,0,
					0.042,5.2,8399.679,0,0,0,0.032,0.2,23243.144,1,31,0,
					0.025,2.6,-1742.931,-4,-44,0,0.025,1.8,5957.459,-2,-19,0,
					0.018,4.8,16029.081,3,50,0,0.014,1.5,17285.68,3,50,0,
					0.014,1.0,15542.75,-1,0,0,0.013,5.0,8326.39,3,50,0,
					0.012,4.8,8470.67,-2,0,0,0.012,2.8,8330.99,0,0,0,
					0.011,2.4,7072.09,2,0,0,0.010,5.9,22128.52,-3,0,0),
				new Array(//MR2
					0.0015,4.2,14914.452,-1,6,0,0.0011,1.8,6585.761,-2,-19,0,
					0.0009,2.4,7700.389,2,25,0,0.0008,5.5,8956.993,1,25,0)
			),

		//=====================
		/**
		 *
		 */
		//星历函数(日月球面坐标计算)
		Enn : function(ob,t,n){ //计算E_L0或E_L1或E_L2等
			var i,j,F,N,v=0,tn=1,c;
			if(ob==this.EL){
			var t2=t*t, t3=t2*t, t4=t3*t, t5=t4*t; //千年数的各次方
			v += 1753469512 + 6283319653318*t + 529674*t2 + 432*t3 - 1124*t4 - 9*t5 + 630 * Math.cos(6+3*t); //地球平黄经(已拟合DE406)
			}
			n*=3; if(n<0) n = ob[0].length;
			for(i=0;i<ob.length;i++,tn*=t){
			F = ob[i];
			N = int2( n*F.length/ob[0].length+0.5 );  if(i) N+=3;  if(N >= F.length) N=F.length;
			for(j=0,c=0;j<N;j+=3) c+=F[j]*Math.cos(F[j+1] +t*F[j+2]);
			v += c*tn;
			}
			return v/1000000000;
		},
		
		/**
		 *
		 */
		E_coord : function(t,re,n){ //返回地球坐标,t为世纪数
			t/=10;
			re[0]= this.Enn( this.EL, t, n);
			re[1]= this.Enn( this.EB, t,-1);
			re[2]= this.Enn( this.ER, t,-1);
		},

		
		/**
		 *
		 */
		E_Lon : function(t,n){ return this.Enn(this.EL,t/10,n); }, //地球经度计算,返回Date分点黄经,传入世纪数、取项数

		
		/**
		 *
		 */
		Mnn : function(ob,t,n){ //计算ML0或ML1或ML2
			var i,j,F,N,v=0,tn=1,c;
			var t2=t*t,t3=t2*t,t4=t3*t,t5=t4*t,tx=t-10;
			if(ob==this.ML){
			v += (3.81034409 + 8399.684730072*t -3.319e-05*t2 + 3.11e-08*t3 - 2.033e-10*t4)*rad; //月球平黄经(弧度)
			v += 5028.792262*t + 1.1124406*t2 + 0.00007699*t3 - 0.000023479*t4 -0.0000000178*t5;  //岁差(角秒)
			if(tx>0) v += -0.866 +1.43*tx +0.054*tx*tx; //对公元3000年至公元5000年的拟合,最大误差小于10角秒
			}
			t2/=1e4,t3/=1e8,t4/=1e8;
			n*=6; if(n<0) n = ob[0].length;
			for(i=0;i<ob.length;i++,tn*=t){
			F=ob[i];
			N = int2( n*F.length/ob[0].length+0.5 );  if(i) N+=6;  if(N >= F.length) N=F.length;
			for(j=0,c=0;j<N;j+=6) c+=F[j]*Math.cos(F[j+1] +t*F[j+2] +t2*F[j+3] +t3*F[j+4] +t4*F[j+5]);
			v += c*tn;
			}
			if(ob!=this.MR) v/=rad;
			return v;
		},
		
		/**
		 *
		 */
		M_coord : function(t,re,n1,n2,n3){ //返回月球坐标,n1,n2,n3为各坐标所取的项数
			re[0] = this.Mnn( this.ML, t, n1 );
			re[1] = this.Mnn( this.MB, t, n2 );
			re[2] = this.Mnn( this.MR, t, n3 );
		},
		
		/**
		 *
		 */
		M_Lon : function(t,n){ return this.Mnn(this.ML,t,n); }, //月球经度计算,返回Date分点黄经,传入世纪数,n是项数比例

		//=========================
		
		/**
		 *
		 */
		E_v : function(t){ //地球速度,t是世纪数,误差小于万分3
			var f=628.307585*t;
			return 628.332 +21 *Math.sin(1.527+f) +0.44 *Math.sin(1.48+f*2)
				 +0.129*Math.sin(5.82+f)*t +0.00055*Math.sin(4.21+f)*t*t;
		},
		
		/**
		 *
		 */
		M_v : function(t){ //月球速度计算,传入世经数
			var v = 8399.71 - 914*Math.sin( 0.7848 + 8328.691425*t + 0.0001523*t*t ); //误差小于5%
			v-=179*Math.sin( 2.543  +15542.7543*t )  //误差小于0.3%
			+160*Math.sin( 0.1874 + 7214.0629*t )
			+62 *Math.sin( 3.14   +16657.3828*t )
			+34 *Math.sin( 4.827  +16866.9323*t )
			+22 *Math.sin( 4.9    +23871.4457*t )
			+12 *Math.sin( 2.59   +14914.4523*t )
			+7  *Math.sin( 0.23   + 6585.7609*t )
			+5  *Math.sin( 0.9    +25195.624 *t )
			+5  *Math.sin( 2.32   - 7700.3895*t )
			+5  *Math.sin( 3.88   + 8956.9934*t )
			+5  *Math.sin( 0.49   + 7771.3771*t );
			return v;
		},

		//=========================
		
		/**
		 *
		 */
		MS_aLon : function(t,Mn,Sn){ //月日视黄经的差值
			return this.M_Lon(t,Mn) + ZB.gxc_moonLon(t) - ( this.E_Lon(t,Sn) + ZB.gxc_sunLon(t) + Math.PI );
		},
		
		/**
		 *
		 */
		S_aLon : function(t,n){  //太阳视黄经
			return this.E_Lon(t,n) + ZB.nutationLon(t) + ZB.gxc_sunLon(t) + Math.PI; //注意，这里的章动计算很耗时
		},

		//=========================
		
		/**
		 *
		 */
		E_Lon_t : function(W){ //已知地球真黄经求时间
			var t,v= 628.3319653318;
			t  = ( W - 1.75347          )/v; v=this.E_v(t);   //v的精度0.03%，详见原文
			t += ( W - this.E_Lon(t,10) )/v; v=this.E_v(t);   //再算一次v有助于提高精度,不算也可以
			t += ( W - this.E_Lon(t,-1) )/v;
			return t;
		},
		
		/**
		 *
		 */
		M_Lon_t : function(W){ //已知真月球黄经求时间
			var t,v= 8399.70911033384;
			t  = ( W - 3.81034          )/v;
			t += ( W - this.M_Lon(t,3 ) )/v; v=this.M_v(t);  //v的精度0.5%，详见原文
			t += ( W - this.M_Lon(t,20) )/v;
			t += ( W - this.M_Lon(t,-1) )/v;
			return t;
		},
		
		/**
		 *
		 */
		MS_aLon_t : function(W){ //已知月日视黄经差求时间
			var t,v= 7771.37714500204;
			t  = ( W + 1.08472               )/v;
			t += ( W - this.MS_aLon(t, 3, 3) )/v; v=this.M_v(t)-this.E_v(t);  //v的精度0.5%，详见原文
			t += ( W - this.MS_aLon(t,20,10) )/v;
			t += ( W - this.MS_aLon(t,-1,60) )/v;
			return t;
		},
		
		/**
		 *
		 */
		S_aLon_t : function(W){ //已知太阳视黄经反求时间
			var t,v= 628.3319653318;
			t  = ( W - 1.75347-Math.PI   )/v; v=this.E_v(t); //v的精度0.03%，详见原文
			t += ( W - this.S_aLon(t,10) )/v; v=this.E_v(t); //再算一次v有助于提高精度,不算也可以
			t += ( W - this.S_aLon(t,-1) )/v;
			return t;
		},
		/****
		MS_aLon_t1 : function(W){ //已知月日视黄经差求时间,高速低精度,误差不超过40秒
			var t,v = 7771.37714500204;
			t  = ( W + 1.08472               )/v;
			t += ( W - this.MS_aLon(t, 3, 3) )/v;  v=this.M_v(t)-this.E_v(t);  //v的精度0.5%，详见原文
			t += ( W - this.MS_aLon(t,50,20) )/v;
			return t;
		},
		S_aLon_t1 : function(W){ //已知太阳视黄经反求时间,高速低精度,最大误差不超过50秒,平均误差15秒
			var t,v= 628.3319653318;
			t  = ( W - 1.75347-Math.PI   )/v; v = 628.332 + 21*Math.sin( 1.527+628.307585*t );
			t += ( W - this.S_aLon(t,3) )/v;
			t += ( W - this.S_aLon(t,40))/v;
			return t;
		},
		****/
		
		/**
		 *
		 */
		MS_aLon_t2 : function(W){ //已知月日视黄经差求时间,高速低精度,误差不超过600秒
			var t,v = 7771.37714500204;
			t  = ( W + 1.08472 )/v;
			var L,t2 = t*t;
			t -= ( -0.00003309*t2 + 0.10976*Math.cos( 0.784758 + 8328.6914246*t + 0.000152292*t2 ) + 0.02224 *Math.cos( 0.18740  + 7214.0628654*t - 0.00021848 *t2 ) - 0.03342 *Math.cos( 4.669257 + 628.307585*t ) )/v;
			L = this.M_Lon(t,20) - (4.8950632+ 628.3319653318*t + 0.000005297*t*t + 0.0334166*Math.cos(4.669257+628.307585*t) + 0.0002061*Math.cos(2.67823+628.307585*t)*t + 0.000349*Math.cos(4.6261+1256.61517*t) - 20.5/rad);
			v = 7771.38 - 914*Math.sin( 0.7848 + 8328.691425*t + 0.0001523*t*t ) - 179*Math.sin( 2.543 + 15542.7543*t ) - 160*Math.sin( 0.1874 + 7214.0629*t );
			t += ( W - L )/v;
			return t;
		},
		
		/**
		 *
		 */
		S_aLon_t2 : function(W){ //已知太阳视黄经反求时间,高速低精度,最大误差不超过600秒
			var t,L,v= 628.3319653318;
			t =  ( W - 1.75347-Math.PI )/v;
			t -= ( 0.000005297*t*t + 0.0334166 * Math.cos( 4.669257 + 628.307585*t) + 0.0002061 * Math.cos( 2.67823  + 628.307585*t)*t )/v;
			t += ( W - this.E_Lon(t,8) - Math.PI + (20.5+17.2*Math.sin(2.1824-33.75705*t))/rad )/v;
			return t;
		},
		
		/**
		 *
		 */
		moonIll : function(t){ //月亮被照亮部分的比例
			var t2 = t*t, t3 =t2*t, t4 = t3*t;
			var D,M,m,a, dm=Math.PI/180;
			D = 297.8502042 + 445267.1115168*t - 0.0016300*t2 + t3/545868 - t4/113065000; //日月距角
			M = 357.5291092 +  35999.0502909*t - 0.0001536*t2 + t3/24490000;              //太阳平近点
			m = 134.9634114 + 477198.8676313*t + 0.0089970*t2 + t3/69699 - t4/14712000;   //月亮平近点
			D*=dm, M*=dm, m*=dm;
			a = Math.PI - D + (-6.289*Math.sin(m) +2.100*Math.sin(M) -1.274*Math.sin(D*2-m) -0.658*Math.sin(D*2) -0.214*Math.sin(m*2) -0.110*Math.sin(D))*dm;
			return (1+Math.cos(a))/2;
		},
		
		/**
		 *
		 */
		moonRad : function(r,h){ //转入地平纬度及地月质心距离,返回站心视半径(角秒)
			return 358473400/r*(1+Math.sin(h)*6378.14/r);
		}
	};

	/**
	 * 用来计算日月的升起、中天、降落。
	 */
	var SZJ={//日月的升中天降,不考虑气温和气压的影响
		
		/**
		 *
		 */
		L  : 0,  //站点地理经度,向东测量为负
		
		/**
		 *
		 */
		fa : 0,  //站点地理纬度
		
		/**
		 *
		 */
		dt : 0,  //TD-UT
		
		/**
		 *
		 */
		E  : 0.409092614, //黄赤交角
		
		/**
		 *
		 */
		getH : function(h,w){ //h地平纬度,w赤纬,把回时角
			var c = ( Math.sin(h) - Math.sin(this.fa)*Math.sin(w) ) / Math.cos(this.fa)/Math.cos(w);
			if(Math.abs(c)>1) return Math.PI;
			return Math.acos(c);
		},

		
		/**
		 *
		 */
		Mcoord : function(jd,H0,z){ //章动同时影响恒星时和天体坐标,所以不计算章动。返回时角及赤经纬
			XL.M_coord( (jd+this.dt)/36525, z, 30,20,8 ); //低精度月亮赤经纬
			ZB.llrConv( z, this.E ); //转为赤道坐标
			z.H = rad2mrad(ZB.gst(jd,this.dt) - this.L - z[0]);   if( z.H>Math.PI ) z.H -= pi2; //得到此刻天体时角
			if(H0) z.H0 = this.getH( 0.7275*6378.14/z[2]-34*60/rad, z[1] ); //升起对应的时角
			},
			Mt : function(jd){ //月亮到中升降时刻计算,传入jd含义与St()函数相同
			this.dt = JD.deltatT2(jd);
			this.E  = ZB.hcjj(jd/36525);
			jd -= mod2(0.1726222 + 0.966136808032357*jd - 0.0366*this.dt - this.L/pi2, 1); //查找最靠近当日中午的月上中天,mod2的第1参数为本地时角近似值

			var r = new Array(), sv = pi2*0.966;
			r.z = r.s = r.j = r.c = r.h = jd;
			this.Mcoord(jd,1,r); //月亮坐标
			r.s += (-r.H0 - r.H )/sv;
			r.j += ( r.H0 - r.H )/sv;
			r.z += (    0 - r.H )/sv;
			this.Mcoord(r.s,1,r);  r.s += ( -r.H0 - r.H )/sv;
			this.Mcoord(r.j,1,r);  r.j += ( +r.H0 - r.H )/sv;
			this.Mcoord(r.z,0,r);  r.z += (     0 - r.H )/sv;
			return r;
		},
		
		/**
		 *
		 */
		Scoord : function(jd,H0,H1,z){ //章动同时影响恒星时和天体坐标,所以不计算章动。返回时角及赤经纬
			z[0] = XL.E_Lon( (jd+this.dt)/36525, 5 ) + Math.PI - 20.5/rad;  //太阳坐标(修正了光行差)
			z[1] = 0; z[2]=1;
			ZB.llrConv( z, this.E ); //转为赤道坐标
			z.H = rad2mrad(ZB.gst(jd,this.dt) - this.L - z[0]);   if( z.H>Math.PI ) z.H -= pi2; //得到此刻天体时角
			if(H0) z.H0 = this.getH(-50*60/rad,z[1]);  //地平以下50分
			if(H1) z.H1 = this.getH(-Math.PI/30,z[1]); //地平以下6度
			},
			St : function(jd){ //太阳到中升降时刻计算,传入jd是当地中午12点时间对应的2000年首起算的格林尼治时间UT
			this.dt = JD.deltatT2(jd);
			this.E  = ZB.hcjj(jd/36525);
			jd -= mod2(jd - this.L/pi2, 1); //查找最靠近当日中午的日上中天,mod2的第1参数为本地时角近似值

			var r = new Array(), sv = pi2;
			r.z = r.s = r.j = r.c = r.h = jd;
			this.Scoord(jd,1,1,r); //太阳坐标
			r.s += (-r.H0 - r.H )/sv; //升起
			r.j += ( r.H0 - r.H )/sv; //降落
			r.c += (-r.H1 - r.H )/sv; //民用晨
			r.h += ( r.H1 - r.H )/sv; //民用昏
			r.z += (    0 - r.H )/sv; //中天
			this.Scoord(r.s,1,0,r);  r.s += ( -r.H0 - r.H )/sv;
			this.Scoord(r.j,1,0,r);  r.j += ( +r.H0 - r.H )/sv;
			this.Scoord(r.c,0,1,r);  r.c += ( -r.H1 - r.H )/sv;
			this.Scoord(r.h,0,1,r);  r.h += ( +r.H1 - r.H )/sv;
			this.Scoord(r.z,0,0,r);  r.z += (     0 - r.H )/sv;
			return r;
		},
		
		/**
		 *
		 */
		rts : new Array(),//多天的升中降
		
		/**
		 *
		 */
		calcRTS : function(jd,n,Jdl,Wdl,sq){ //多天升中降计算,jd是当地起始略日(中午时刻),sq是时区
			var i,c,r;
			if(!this.rts.length) { for(var i=0;i<31;i++) this.rts[i] = new Array(); }
			this.L = Jdl, this.fa = Wdl, sq/=24; //设置站点参数
			for(i=0;i<n;i++){ r=this.rts[i];  r.Ms=r.Mz=r.Mj=""; }
			for(i=-1;i<=n;i++){
			if(i>=0&&i<n){ //太阳
			r = SZJ.St(jd+i+sq);
			this.rts[i].s = JD.timeStr(r.s-sq); //升
			this.rts[i].z = JD.timeStr(r.z-sq); //中
			this.rts[i].j = JD.timeStr(r.j-sq); //降
			this.rts[i].c = JD.timeStr(r.c-sq); //晨
			this.rts[i].h = JD.timeStr(r.h-sq); //昏
			this.rts[i].ch = JD.timeStr(r.h-r.c-0.5); //光照时间,timeStr()内部+0.5,所以这里补上-0.5
			this.rts[i].sj = JD.timeStr(r.j-r.s-0.5); //昼长
			}
			r = SZJ.Mt(jd+i+sq); //月亮
			c=int2(r.s-sq+0.5)-jd;  if(c>=0&&c<n) this.rts[c].Ms = JD.timeStr(r.s-sq);
			c=int2(r.z-sq+0.5)-jd;  if(c>=0&&c<n) this.rts[c].Mz = JD.timeStr(r.z-sq);
			c=int2(r.j-sq+0.5)-jd;  if(c>=0&&c<n) this.rts[c].Mj = JD.timeStr(r.j-sq);
			}
			this.rts.dn = n;
		}
	};
		
	/**
	 *
	 */
	//纪年数据结构：数据用逗号分开，每7个描述一个年号，格式为:起始公元,使用年数,已用年数,朝代,朝号,皇帝,年号
	var JNs ='';
	JNs+='420,3,0,南朝/宋,武帝,刘裕,永初,423,2,0,南朝/宋,少帝,刘义符,景平,424,30,0,南朝/宋,文帝,刘義隆,元嘉,454,3,0,南朝/宋,孝武,帝刘骏,孝建,457,8,0,南朝/宋,孝武,帝刘骏,大明,465,1,0,南朝/宋,废帝,刘子业,永光,465,1,0,南朝/宋,废帝,刘子业,景和,465,7,0,南朝/宋,明帝,刘彧,泰始,472,1,0,南朝/宋,明帝,刘彧,泰豫,473,5,0,南朝/宋,废帝,刘昱,元徽,477,3,0,南朝/宋,顺帝,刘准,升明,479,4,0,南朝/齐,高帝,萧道成,建元,483,11,0,南朝/齐,武帝,萧赜,永明,494,1,0,南朝/齐,欎林王,萧昭业,隆昌,494,1,0,南朝/齐,海陵王,萧昭文,延兴,';
	JNs+='494,5,0,南朝/齐,明帝,萧鸾,建武,498,1,0,南朝/齐,明帝,萧鸾,永泰,499,3,0,南朝/齐,东昏侯,萧宝,中兴,501,2,0,南朝/齐,和帝,萧宝融,中兴,502,18,0,南朝/梁,武帝,萧衍,天监,520,8,0,南朝/梁,武帝,萧衍,普通,527,3,0,南朝/梁,武帝,萧衍,大通,529,6,0,南朝/梁,武帝,萧衍,中大通,535,12,0,南朝/梁,武帝,萧衍,大同,546,2,0,南朝/梁,武帝,萧衍,中大同,547,3,0,南朝/梁,武帝,萧衍,太清,550,2,0,南朝/梁,简文帝,萧纲,大宝,551,2,0,南朝/梁,豫章王,萧栋,天正,552,4,0,南朝/梁,元帝,萧绎,承圣,555,1,0,南朝/梁,贞阳侯,萧渊明,天成,';
	JNs+='555,2,0,南朝/梁,敬帝,萧方智,绍泰,556,2,0,南朝/梁,敬帝,萧方智,太平,557,3,0,南朝/陈,武帝,陈霸先,太平,560,7,0,南朝/陈,文帝,陈蒨,天嘉,566,1,0,南朝/陈,文帝,陈蒨,天康,567,2,0,南朝/陈,废帝,陈伯宗,光大,569,14,0,南朝/陈,宣帝,陈顼,太建,583,4,0,南朝/陈,后主,陈叔宝,至德,587,3,0,南朝/陈,后主,陈叔宝,祯明,555,8,0,南朝/后梁,宣帝,萧詧,大定,562,24,0,南朝/后梁,明帝,萧岿,天保,586,2,0,南朝/后梁,莒公,萧琮,广运,386,11,0,北朝/北魏,道武帝,拓跋圭,登国,396,3,0,北朝/北魏,道武帝,拓跋圭,皇始,398,7,0,北朝/北魏,道武帝,拓跋圭,天兴,';
	JNs+='404,6,0,北朝/北魏,道武帝,拓跋圭,天赐,409,5,0,北朝/北魏,明元帝,拓跋嗣,永兴,414,3,0,北朝/北魏,明元帝,拓跋嗣,神瑞,416,8,0,北朝/北魏,明元帝,拓跋嗣,泰常,424,5,0,北朝/北魏,太武帝,拓跋焘,始光,428,4,0,北朝/北魏,太武帝,拓跋焘,神麚,432,3,0,北朝/北魏,太武帝,拓跋焘,延和,435,6,0,北朝/北魏,太武帝,拓跋焘,太延,440,12,0,北朝/北魏,太武帝,拓跋焘,太平真君,451,2,0,北朝/北魏,太武帝,拓跋焘,正平,452,1,0,北朝/北魏,南安王,拓跋余,承平,452,3,0,北朝/北魏,文成帝,拓跋浚,兴安,454,2,0,北朝/北魏,文成帝,拓跋浚,兴光,455,5,0,北朝/北魏,文成帝,拓跋浚,太安,460,6,0,北朝/北魏,文成帝,拓跋浚,和平,';
	JNs+='466,2,0,北朝/北魏,献文帝,拓跋弘,天安,467,5,0,北朝/北魏,献文帝,拓跋弘,皇兴,471,6,0,北朝/北魏,教文帝,拓跋宏,延兴,476,1,0,北朝/北魏,孝文帝,拓跋宏,承明,477,23,0,北朝/北魏,孝文帝,拓跋宏,太和,500,4,0,北朝/北魏,宣武帝,元恪,景明,504,5,0,北朝/北魏,宣武帝,元恪,正始,508,5,0,北朝/北魏,宣武帝,元恪,永平,512,4,0,北朝/北魏,宣武帝,元恪,延昌,516,3,0,北朝/北魏,孝明帝,元诩,熙平,518,3,0,北朝/北魏,孝明帝,元诩,神龟,520,6,0,北朝/北魏,孝明帝,元诩,正光,525,3,0,北朝/北魏,孝明帝,元诩,孝昌,528,1,0,北朝/北魏,孝明帝,元诩,武泰,528,1,0,北朝/北魏,孝庄帝,元子攸,建义,';
	JNs+='528,3,0,北朝/北魏,孝庄帝,元子攸,永安,530,2,0,北朝/北魏,东海王,元晔,建明,531,2,0,北朝/北魏,节闵帝,元恭,普泰,531,2,0,北朝/北魏,安定王,元朗,中兴,532,1,0,北朝/北魏,孝武帝,元修,太昌,532,1,0,北朝/北魏,孝武帝,元修,永兴,532,3,0,北朝/北魏,孝武帝,元修,永熙,534,4,0,北朝/东魏,孝静帝,元善见,天平,538,2,0,北朝/东魏,孝静帝,元善见,元象,539,4,0,北朝/东魏,孝静帝,元善见,兴和,543,8,0,北朝/东魏,孝静帝,元善见,武定,535,17,0,北朝/西魏,文帝,元宝炬,大统,552,3,0,北朝/西魏,废帝,元钦,大统,554,3,0,北朝/西魏,恭帝,元廓,大统,550,10,0,北朝/北齐,文宣帝,高洋,天保,';
	JNs+='560,1,0,北朝/北齐,废帝,高殷,乾明,560,2,0,北朝/北齐,孝昭帝,高演,皇建,561,2,0,北朝/北齐,武成帝,高湛,太宁,562,4,0,北朝/北齐,武成帝,高湛,河清,565,5,0,北朝/北齐,温公,高纬,天统,570,7,0,北朝/北齐,温公,高纬,武平,576,2,0,北朝/北齐,温公,高纬,隆化,576,1,0,北朝/北齐,安德王,高延宗,德昌,577,1,0,北朝/北齐,幼主,高恒,承光,557,1,0,北朝/北周,闵帝,宇文觉,空,557,2,0,北朝/北周,明帝,宇文毓,空,559,2,0,北朝/北周,明帝,宇文毓,武成,561,5,0,北朝/北周,武帝,宇文邕,保定,566,7,0,北朝/北周,武帝,宇文邕,天和,572,7,0,北朝/北周,武帝,宇文邕,建德,';
	JNs+='578,1,0,北朝/北周,武帝,宇文邕,宣政,579,1,0,北朝/北周,宣帝,宇文贇,大成,579,2,0,北朝/北周,静帝,宇文衍,大象,581,1,0,北朝/北周,静帝,宇文衍,大定,581,20,0,隋,文帝,杨坚,开皇,601,4,0,隋,文帝,杨坚,仁寿,605,13,0,隋,炀帝,杨广,大业,617,2,0,隋,恭帝,杨侑,义宁,618,9,0,唐,高祖,李渊,武德,627,23,0,唐,太宗,李世民,贞观,650,6,0,唐,高宗,李治,永徽,656,6,0,唐,高宗,李治,显庆,661,3,0,唐,高宗,李治,龙朔,664,2,0,唐,高宗,李治,麟德,666,3,0,唐,高宗,李治,乾封,';
	JNs+='668,3,0,唐,高宗,李治,总章,670,5,0,唐,高宗,李治,咸亨,674,3,0,唐,高宗,李治,上元,676,4,0,唐,高宗,李治,仪凤,679,2,0,唐,高宗,李治,调露,680,2,0,唐,高宗,李治,永隆,681,2,0,唐,高宗,李治,开耀,682,2,0,唐,高宗,李治,永淳,683,1,0,唐,高宗,李治,弘道,684,1,0,唐,中宗,李显,嗣圣,684,1,0,唐,睿宗,李旦,文明,684,1,0,武周,则天后,武曌,光宅,685,4,0,武周,则天后,武曌,垂拱,689,1,0,武周,则天后,武曌,永昌,689,2,0,武周,则天后,武曌,载初,';
	JNs+='690,3,0,武周,则天后,武曌,天授,692,1,0,武周,则天后,武曌,如意,692,3,0,武周,则天后,武曌,长寿,694,1,0,武周,则天后,武曌,延载,695,1,0,武周,则天后,武曌,证圣,695,2,0,武周,则天后,武曌,天册万岁,696,1,0,武周,则天后,武曌,万岁登封,696,2,0,武周,则天后,武曌,万岁通天,697,1,0,武周,则天后,武曌,神功,698,3,0,武周,则天后,武曌,圣历,700,1,0,武周,则天后,武曌,久视,701,1,0,武周,则天后,武曌,大足,701,4,0,武周,则天后,武曌,长安,705,1,0,武周,则天后,李显,神龙,705,2,0,唐,中宗,李显,神龙,';
	JNs+='707,4,0,唐,中宗,李显,景龙,710,1,0,唐,温王,李重茂,唐隆,710,2,0,唐,睿宗,李旦,景云,712,1,0,唐,睿宗,李旦,太极,712,1,0,唐,睿宗,李旦,延和,712,2,0,唐,玄宗,李隆基,先天,713,29,0,唐,玄宗,李隆基,开元,742,15,0,唐,玄宗,李隆基,天宝,756,3,0,唐,肃宗,李亨,至德,758,3,0,唐,肃宗,李亨,乾元,760,3,0,唐,肃宗,李亨,上元,762,2,0,唐,肃宗,李亨,宝应,763,2,0,唐,代宗,李豫,广德,765,2,0,唐,肃宗,李亨,永泰,766,14,0,唐,肃宗,李亨,大历,';
	JNs+='780,4,0,唐,德宗,李适,建中,784,1,0,唐,德宗,李适,兴元,785,21,0,唐,德宗,李适,贞元,805,1,0,唐,顺宗,李诵,永贞,806,15,0,唐,宪宗,李纯,元和,821,4,0,唐,穆宗,李恒,长庆,825,3,0,唐,敬宗,李湛,宝历,827,9,0,唐,文宗,李昂,大和,836,5,0,唐,文宗,李昂,开成,841,6,0,唐,武宗,李炎,会昌,847,14,0,唐,宣宗,李忱,大中,860,15,0,唐,宣宗,李忱,咸通,874,6,0,唐,僖宗,李儇,乾符,880,2,0,唐,僖宗,李儇,广明,881,5,0,唐,僖宗,李儇,中和,';
	JNs+='885,4,0,唐,僖宗,李儇,光启,888,1,0,唐,僖宗,李儇,文德,889,1,0,唐,昭宗,李晔,龙纪,890,2,0,唐,昭宗,李晔,大顺,892,2,0,唐,昭宗,李晔,景福,894,5,0,唐,昭宗,李晔,乾宁,898,4,0,唐,昭宗,李晔,光化,901,4,0,唐,昭宗,李晔,天复,904,1,0,唐,昭宗,李晔,天佑,905,3,1,唐,昭宣帝,李祝,天佑,907,5,0,五代/梁,太祖,朱温,开平,911,2,0,五代/梁,太祖,朱温,乾化,913,1,0,五代/梁,庶人,朱友圭,凤历,913,3,2,五代/梁,末帝,朱友贞,乾化,915,7,0,五代/梁,末帝,朱友贞,贞明,';
	JNs+='921,3,0,五代/梁,末帝,朱友贞,龙德,923,4,0,五代/唐,庄宗,李存勗,同光,926,5,0,五代/唐,明宗,李嗣源,天成,930,4,0,五代/唐,明宗,李嗣源,长兴,934,1,0,五代/唐,闵帝,李从厚,应顺,934,3,0,五代/唐,潞王,李从珂,清泰,936,6,0,五代/晋,高祖,石敬瑭,天福,942,2,6,五代/晋,出帝,石重贵,天福,944,3,0,五代/晋,出帝,石重贵,开运,947,12,0,五代/汉,高祖,刘知远,天福,948,1,0,五代/汉,隐帝,刘承祐,乾祐,948,3,0,五代/汉,隐帝,刘承祐,乾祐,951,3,0,五代/周,太祖,郭威,广顺,954,1,0,五代/周,太祖,郭威,显德,954,6,0,五代/周,世宗,柴荣,显德,';
	JNs+='959,2,5,五代/周,恭帝,郭宗训,显德,960,4,0,北宋,太祖,赵匡胤,建隆,963,6,0,北宋,太祖,赵匡胤,乾德,968,9,0,北宋,太祖,赵匡胤,开宝,976,9,0,北宋,太宗,赵炅,太平兴国,984,4,0,北宋,太宗,赵炅,雍熙,988,2,0,北宋,太宗,赵炅,端拱,990,5,0,北宋,太宗,赵炅,淳化,995,3,0,北宋,太宗,赵炅,至道,998,6,0,北宋,真宗,赵恒,咸平,1004,4,0,北宋,真宗,赵恒,景德,1008,9,0,北宋,真宗,赵恒,大中祥符,1017,5,0,北宋,真宗,赵恒,天禧,1022,1,0,北宋,真宗,赵恒,乾兴,1023,10,0,北宋,仁宗,赵祯,天圣,';
	JNs+='1032,2,0,北宋,仁宗,赵祯,明道,1034,5,0,北宋,仁宗,赵祯,景祐,1038,3,0,北宋,仁宗,赵祯,宝元,1040,2,0,北宋,仁宗,赵祯,康定,1041,8,0,北宋,仁宗,赵祯,庆历,1049,6,0,北宋,仁宗,赵祯,皇祐,1054,3,0,北宋,仁宗,赵祯,至和,1056,8,0,北宋,仁宗,赵祯,嘉祐,1064,4,0,北宋,英宗,赵曙,治平,1068,10,0,北宋,神宗,赵顼,熙宁,1078,8,0,北宋,神宗,赵顼,元丰,1086,9,0,北宋,哲宗,赵煦,元祐,1094,5,0,北宋,哲宗,赵煦,绍圣,1098,3,0,北宋,哲宗,赵煦,元符,1101,1,0,北宋,徽宗,赵佶,建中靖国,';
	JNs+='1102,5,0,北宋,徽宗,赵佶,崇宁,1107,4,0,北宋,徽宗,赵佶,大观,1111,8,0,北宋,徽宗,赵佶,政和,1118,2,0,北宋,徽宗,赵佶,重和,1119,7,0,北宋,徽宗,赵佶,宣和,1126,2,0,北宋,钦宗,赵桓,靖康,1127,4,0,南宋,高宗,赵构,建炎,1131,32,0,南宋,高宗,赵构,绍兴,1163,2,0,南宋,孝宗,赵慎,隆兴,1165,9,0,南宋,孝宗,赵慎,乾道,1174,16,0,南宋,孝宗,赵慎,淳熙,1190,5,0,南宋,光宗,赵暴,绍熙,1195,6,0,南宋,宁宗,赵扩,庆元,1201,4,0,南宋,宁宗,赵扩,嘉泰,1205,3,0,南宋,宁宗,赵扩,开禧,';
	JNs+='1208,17,0,南宋,宁宗,赵扩,嘉定,1225,3,0,南宋,理宗,赵昀,宝庆,1228,6,0,南宋,理宗,赵昀,绍定,1234,3,0,南宋,理宗,赵昀,端平,1237,4,0,南宋,理宗,赵昀,嘉熙,1241,12,0,南宋,理宗,赵昀,淳祐,1253,6,0,南宋,理宗,赵昀,寶祐,1259,1,0,南宋,理宗,赵昀,开庆,1260,5,0,南宋,理宗,赵昀,景定,1265,10,0,南宋,度宗,赵禥,咸淳,1275,2,0,南宋,恭宗,赵(上“日”下“丝”),德祐 ,1276,3,0,南宋,端宗,赵(上“日”下“正”),景炎,1278,2,0,南宋,帝昺,赵昺,祥兴,1271,24,7,元,世祖,孛儿只斤·忽必烈,至元,1295,3,0,元,成宗,孛儿只斤·铁穆耳,元贞,';
	JNs+='1297,11,0,元,成宗,孛儿只斤·铁穆耳,大德,1308,4,0,元,武宗,孛儿只斤·海山,至大,1312,2,0,元,仁宗,孛儿只斤·爱育黎拔力八达,皇庆,1314,7,0,元,仁宗,孛儿只斤·愛育黎拔力八達,延祐,1321,3,0,元,英宗,孛儿只斤·宗硕德八剌,至治,1324,5,0,元,泰定帝,孛儿只斤·也孙铁木耳,泰定,1328,1,0,元,泰定帝,孛儿只斤·也孙铁木耳,至和,1328,1,0,元,幼主,孛儿只斤·阿速吉八,天顺,1328,3,0,元,文宗,孛儿只斤·图贴睦尔,天历,1330,3,0,元,文宗,孛儿只斤·图贴睦尔,至顺,1333,3,0,元,惠宗,孛儿只斤·妥镤贴睦尔,元统,1335,6,0,元,惠宗,孛儿只斤·妥镤贴睦尔,至元,1341,28,0,元,惠宗,孛儿只斤·妥镤贴睦尔,至正,1368,31,0,明,太祖,朱元璋,洪武,1399,4,0,明,惠帝,朱允溫,建文,';
	JNs+='1403,22,0,明,成祖,朱棣,永乐,1425,1,0,明,仁宗,朱高炽,洪熙,1426,10,0,明,宣宗,朱瞻基,宣德,1436,14,0,明,英宗,朱祁镇,正统,1450,7,0,明,代宗,朱祁钰,景泰,1457,8,0,明,英宗,朱祁镇,天顺,1465,23,0,明,宪宗,朱见深,成化,1488,18,0,明,孝宗,朱祐樘,弘治,1506,16,0,明,武宗,朱厚照,正德,1522,45,0,明,世宗,朱厚熜,嘉靖,1567,6,0,明,穆宗,朱载贺,隆庆,1573,48,0,明,神宗,朱翊钧,万历,1620,1,0,明,光宗,朱常洛,泰昌,1621,7,0,明,熹宗,朱同校,天启,1628,17,0,明,毅宗,朱由检,崇祯,';
	JNs+='1644,18,0,清,世祖,爱新觉罗福临,顺治,1662,61,0,清,圣祖,爱新觉罗玄烨,康熙,1723,13,0,清,世宗,爱新觉罗胤禛,雍正,1736,60,0,清,高宗,爱新觉罗弘历,乾隆,1796,25,0,清,仁宗,爱新觉罗颙琰,嘉庆,1821,30,0,清,宣宗,爱新觉罗旻宁,道光,1851,11,0,清,文宗,爱新觉罗奕詝,咸丰,1862,13,0,清,穆宗,爱新觉罗载淳,同治,1875,34,0,清,德宗,爱新觉罗载湉,光绪,1909,3,0,清,无朝,爱新觉罗溥仪,宣统,1912,37,0,现代,中国,国民党,民国,1949,9999,0,现代,中国,共产党,共和国';
	JNs = JNs.split(',');
	for(i=0;i<JNs.length;i+=7) { JNs[i]-=0; JNs[i+1]-=0; JNs[i+2]-=0; }
	function getNH(y){ //取年号
		var i,j,k,c;
		this.nh = this.nh2 = '';
		for(i=0;i<JNs.length;i+=7){
		j = JNs[i];
		if(y<j||y>=j+JNs[i+1]) continue;
		c = '['+JNs[i+3]+']';//朝代
		k = JNs[i+6]+(y-j+1+JNs[i+2])+'年'; //年号及年次
		this.nh = c+k;
		this.nh2 += c+JNs[i+4]+' '+JNs[i+5]+' '+k + '; '; //i为年号元年,i+3朝代,i+4朝号,i+5皇帝,i+6年号
		}
	}
	/****************
	 [地理经纬度数据库]

	 经纬度的压缩编码细节(以经度79度48分 北纬12度49分 为例,):
	 字元表 s = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 共62个字元
	 数字0 编码为s中的第1个字符(0)
	 数字1 编码为s中的第2个字符(1)
	 数字10编码为s中的第11个字符(A)
	 数字59编码为s中的第60个字符(x)
	 ...
	 1.将'度'减去73，即79-73 = 6，因为我国各地经度在73到133度之间,减73之后,经度就变为0到60之间的数
	 2.使用字元表对 '6度'进行编码,得到字符6,编码后只用一个字母就可以表示"度"
	 3.使用字元表对'48分'进行编码,得到字符m,编码后只用一个字母就可以表示"分"
	 4.最后，79度48分被编码为 6m
	 5.同样方法对纬度编码(但不用减73)得到 Cn
	 6.经纬度的总编码为(纬度放在前) Cn6m
	 7.解码过程是上面过程的逆运算。通过以上处理，比常规表示法减少60%的数据量
	*****************/
	JWv = new Array(
		'北京市 dshN天安门 dthS北京 dshe通州区 eDhD昌平区 e8hc顺义区 eJhc怀柔区 dihK大兴区 e8i7平谷区 eMho密云县 eSgw延庆县',
		'河北省 c3fU石家庄 c2fn藁城市 btgD辛集市 c2g2晋州市 cKfe新乐市 c5fI鹿泉市 cFfC平山县 c2f8井陉县 brfd栾城县 c8fY正定县 cQfX行唐县 cIfM灵寿县 bafb高邑县 bjfk赵县 befN赞皇县 cBgC深泽县 cBfw无极县 bjfV元氏县 dbjB唐山 doj7丰润区 dYj7丰南区 eBiv遵化市 dyjg迁安市 e9jJ迁西县 dVjf滦南县 drii玉田县 dHjS唐海县 dPjt乐亭县 dijj滦县 duka秦皇岛 dgkA昌黎县 drjq卢龙县 drkE抚宁县 eJk4青龙满族自治县 aafS邯郸 agfC武安市 aZfW邯郸县 alfT永年县 alfv曲周县 aWgI馆陶县 aLfu魏县 aQfg成安县 aHg9大名县 aYee涉县 atfq鸡泽县 angA邱县 aTfu广平县 aXfm肥乡县 aKfa临漳县 aMfM磁县 b3fU邢台 bMgN南宫市 apfT沙河市 b4fU邢台县 bUff柏乡县 b7fe任县 b4gd清河县 bbft宁晋县 awgG威县 bLfk隆尧县 bQfU临城县 b4g9广宗县 aqgT临西县 bIfV内丘县 b4g1平乡县 bDg1巨鹿县 bWgF新河县 ayff南和县 cpgT保定 dTgw涿州市 cUfx定州市 cPgJ安国市 dJgp高碑店市 cvgJ满城县 cjgT清苑县 dOgg涞水县 cpfB阜平县 d1gd徐水县 dGgk定兴县 cifw唐县 cfgk高阳县 d3gq容城县 dLff涞源县 cgg8望都县 cog7完县 cugu安新县 dLgU易县 cbff曲阳县 cTgY蠡县 cRgS博野县 cwh5雄县 enfr张家口 eag2宣化县 fpfa康保县 f9fh张北县 e7fA阳原县 etgn赤城县 fegg沽源县 eefP怀安县 eOgV怀来县 exgG崇礼县 f5ew尚义县 dofY蔚县 eNgD涿鹿县 ejfh万全县 ewiu承德 ekj9承德县 ePiT兴隆县 fJii隆化县 f0jf平泉县 euiK滦平县 fChc丰宁满族自治县 fvii围场满族蒙古族自治县 eajT宽城满族自治县 cJhq沧州 c4hX泊头市 cgh5任丘市 cMiL黄骅市 cQh5河间市 cJhq沧县 cYhm青县 cBh7献县 brhV东光县 c8iU海兴县 c3iD盐山县 cPgn肃宁县 c2hg南皮县 bbhN吴桥县 c4i5孟村回族自治县 dVhf廊坊 d6hO霸州市 dxi5三河市 dQhG固安县 dKhT永清县 dkhy香河县 cghb大城县 cphR文安县 drhx大厂回族自治县 bigf衡水 bYgY冀州市 c0gW深州市 cFgi饶阳县 bUgh枣强县 bLgw故城县 bqh9阜城县 cEgV安平县 bmgr武邑县 bfhF景县 c3gx武强县',
		'内蒙古 encd呼和浩特 eHc9托克托县 f6cR武川县 eMcn和林格尔县 dtce清水河县 ehc8土默特左旗 eeam包头 f2b3固阳县 fgbQ达尔罕茂明安联合旗 eXbV土默特右旗 eXbV萨拉齐镇 ffbQ百灵庙镇 deXm乌海 dUXg乌达区 gGjv赤峰 fakK宁城县 haj3林西县 fujg喀喇沁旗 hVje巴林右旗 gHks敖汉旗 hrl5阿鲁科尔沁旗 guk1翁牛特旗 hFiV克什克腾旗 hxkN巴林左旗 fZkK天义镇 ftjf锦山镇 gHks新惠镇 hql5天山镇 guk1乌丹镇 hFiU经棚镇 hxkN林东镇 hVje大板镇 hbnG通辽 jWkd霍林郭勒市 hamI开鲁县 i7oJ科尔沁左翼中旗 gvnL科尔沁左翼后旗 gimk库伦旗 gpld奈曼旗 iXls扎鲁特旗 i8oJ保康镇 gvnK甘旗卡镇 giml库伦镇 gold大沁他拉镇 iXls鲁北镇 dnax鄂尔多斯市 dnay东胜区 dcbq准格尔旗 cZZo乌审旗 dYaj伊金霍洛旗 d6Yx鄂托克旗 cBYS鄂托克前旗 dpZi杭锦旗 eOb1达拉特旗 nCkk呼伦贝尔 nDkh海拉尔区 nZiQ满洲里市 nHli牙克石市 lynj扎兰屯市 olmW根河市 oElA额尔古纳市 nJkQ陈巴尔虎旗 m7oS阿荣旗 mDjG新巴尔虎左旗 mdhn新巴尔虎右旗 oaoh鄂伦春自治旗 mSpU莫力达瓦达斡尔族自治旗 n8ki鄂温克族自治旗 nJkQ巴彦库仁镇 m7oS那吉镇 mDjG阿穆古郎镇 oaoh阿里河镇 mehn阿拉坦额莫勒镇 mSpU尼尔基镇 n8ki巴彦托海镇 ejYQ巴彦淖尔市 eiYQ临河区 f5ZG五原县 eKY1磴口县 erY9杭锦后旗 fYZV乌拉特中旗 ehZd乌拉特前旗 fQY0乌拉特后旗 eKXy巴彦高勒镇 erY9陕坝镇 fXZV海流图镇 f3e6乌兰察布市 f2e5集宁区 eRe8丰镇市 erer兴和县 esdY卓资县 fXeW商都县 eWdT凉城县 frf0化德县 fVcf四子王旗 eleC察哈尔右翼前旗 fGdc察哈尔右翼中旗 fReA察哈尔右翼后旗 fVcg乌兰花镇 ekeD土贵乌拉镇 fGdc科布尔镇 huh4锡林浩特市 hdcw二连浩特市 gBhS多伦县 i1fv阿巴嘎旗 iZib西乌珠穆沁旗 jVhx东乌珠穆沁旗 hpei苏尼特左旗 gjdd苏尼特右旗 frgH太仆寺旗 gIg0正镶白旗 gFh0正蓝旗 gEep镶黄旗 iZia巴彦乌拉镇 jVhw乌里雅斯太镇 hpeh满都拉图镇 gide赛汉塔拉镇 frgH宝昌镇 gFeo新宝拉格镇 k4n2兴安盟 k4n4乌兰浩特市 lIkp阿尔山市 jNmX突泉县 khnt扎赉特旗 jpnR科尔沁右翼前旗 j3mS科尔沁右翼中旗 cpWg阿拉善盟 coWe阿拉善左旗 dCSe阿拉善右旗 fwS4额济纳旗 dCSe额肯呼都格镇 fwS4达来呼布镇',
		'山西省 bsdX太原 bpdY迎泽区 btdA古交市 c4de阳曲县 badK清徐县 c4cm娄烦县 e6eH大同 e2ea大同县 ePf5天镇县 dQfE灵丘县 eMei阳高县 e0dg左云县 dkfG广灵县 dgef浑源县 bpeX阳泉 bmea平定县 c5eO盂县 aBe6长治 aKeE潞城市 a3e3长治县 aWe3襄垣县 aJdr屯留县 aCeQ平顺县 aUeN黎城县 a7eC壶关县 a7dq长子县 aodq武乡县 ajdg沁县 aUdK沁源县 a3e3韩店镇 ZUdo晋城 Zmdt高平市 ZYds泽州县 ZfdA沁水县 ZleH陵川县 ZTdP阳城县 dJdP朔州 dVdn山阴县 dYeB应县 dxdS右玉县 dne5怀仁县 bgdi晋中 bfdi榆次区 b2ct介休市 b4dw榆社县 b5eM左权县 bKeY和顺县 bbef昔阳县 breA寿阳县 bPdX太谷县 bLdJ祁县 bCdA平遥县 aock灵石县 Z1bx运城 YqbQ永济市 ZZbg河津市 Yfbf芮城县 Z9bk临猗县 ZPbn万荣县 ZbcD新绛县 Zabw稷山县 ZLcC闻喜县 Z8cD夏县 ZTcY绛县 YocC平陆县 ZIcd垣曲县 cOdi忻州 cidi原平市 cTdv定襄县 cheF五台县 d4dv代县 dBeG繁峙县 cxdI宁武县 cLcu静乐县 d5dB神池县 csco五寨县 cgcY岢岚县 dNc8河曲县 d1c5保德县 dQcT偏关县 a5cU临汾 ZbcL侯马市 aYch霍州市 ZccS曲沃县 Zicg翼城县 ZqcQ襄汾县 aFce洪洞县 aGct古县 a9dF安泽县 Zwcp浮山县 a6be吉县 Zwbo乡宁县 aPc6蒲县 aSbi大宁县 akbc永和县 afbt隰县 adcY汾西县 bVc8吕梁市 bVc8离石区 b9cl孝义市 bGcl汾阳市 bQd1文水县 bKcB中阳县 cSc5兴县 bvbx临县 brcE方山县 bQbr柳林县 cHce岚县 axcB交口县 bXd9交城县 aybo石楼县',
		'天津市 d8iC天津 diiI宝坻区 dNi4武清区 dKio宁河县 cuht静海县 e3iO蓟县',
		'安徽省 VqiH合肥 WTiA长丰县 Vhi9肥西县 VriS肥东县 VKjM芜湖 V9jY芜湖县 UtjK南陵县 V5jC繁昌县 WuiK蚌埠 WviC怀远县 XJiJ固镇县 X8ir五河县 Wchx淮南 Wghh凤台县 VijT马鞍山 VXjT当涂县 Xvhj淮北 Xthl濉溪县 Uvil铜陵 UUi3安庆 V3hu桐城市 U9h7宿松县 UgiD枞阳县 UPhG太湖县 UPhd怀宁县 UphL岳西县 U7he望江县 UchY潜山县 ThjJ黄山 ThjH屯溪区 TljB休宁县 TqjQ歙县 Tpig祁门县 Tuiu黟县 WIjI滁州 Wfjy天长市 Wlix明光市 W6jG全椒县 WRjQ来安县 WWif定远县 WqiX凤阳县 Wsgn阜阳 XGgL界首市 X4gF临泉县 WchF颍上县 WcgZ阜南县 XAgb太和县 Xchy宿州 YChu萧县 XTir泗县 YQhK砀山县 XXiX灵璧县 Vhj6含山县 VIit无为县 VFiH庐江县 VhjM和县 VZig巢湖 VjhT六安 WZhl寿县 VOhJ霍山县 WKhG霍邱县 VRhu舒城县 Vfgq金寨县 Xqgk亳州 Xrgk谯城区 X8hC利辛县 XVhD涡阳县 XGhX蒙城县 UdiT池州 UdiT贵池区 U6i1东至县 UCiS石台县 Uciq青阳县 Uuji宣城 Uvji宣州区 Ubjx宁国市 UskP广德县 V8kB郎溪县 UfjO泾县 UHjW旌德县 U5jZ绩溪县',
		'福建省 Q5kI福州 Q0kR马尾区 PikN福清市 PwkV长乐市 Q9k9闽侯县 QCkW连江县 QTkX罗源县 QDjq闽清县 Pqju永泰县 PUkl平潭县 ORj5厦门 OSix海沧区 OYj6集美区 Oij9同安区 PQk1莆田 PQk1莆田县 PMjf仙游县 PJk6秀屿区 OtjZ泉州 P7jr泉港区 Oijc石狮市 OnjY晋江市 OvjN南安市 P1jm惠安县 P4jB安溪县 PKjH永春县 PTjE德化县 OQjJ金门县 OVid漳州 OQin龙海市 NwiK云霄县 O7ib漳浦县 NgiA诏安县 Obij长泰县 NgiQ东山县 OUiM南靖县 OLiI平和县 OyiV华安县 QdjA南平 RKiT邵武市 Rjj2武夷山市 R2jJ建瓯市 RKj6建阳市 Rkj1崇安县 Qmim顺昌县 RtjW浦城县 RWiK光泽县 RWjk松溪县 RMjp政和县 P7i2龙岩 PHiO漳平市 P5h5武平县 PohL长汀县 Ohhh永定县 Phhj连城县 P3hP上杭县 QDia三明 PwiM永安市 QLiC明溪县 QAhn清流县 QGhe宁化县 Pgio大田县 QAjB尤溪县 QOil沙县 QhiR将乐县 QsiA泰宁县 Qoho建宁县 QekV宁德 R5kd福安市 RKlD福鼎市 Qrkx霞浦县 QZji古田县 Qtjw屏南县 RSkV寿宁县 R7kK周宁县 RFks柘荣县',
		'江苏省 W5jm南京 W3jm玄武区 W2jm白下区 W1jm秦淮区 W2jk建邺区 W4jj鼓楼区 W6ji下关区 W7jg浦口区 W8jq栖霞区 Vyjk雨花台区 Vvjo江宁区 WLjo六合区 Vdk1溧水县 VKjq高淳县 VZlI无锡 VZlI崇安区 VYlI南长区 VZlH北塘区 VYlF滨湖区 VZlM锡山区 VflG惠山区 VslG江阴市 VMkn宜兴市 YGiB徐州 YFiD云龙区 YHiB鼓楼区 YIi8九里区 YRiR贾汪区 YFiB泉山区 YNjK新沂市 YJiu邳州市 YghZ丰县 Yiht沛县 YCiA铜山县 Xsiv睢宁县 Vlkv常州 Vlkv钟楼区 Vkkv天宁区 Vil3戚墅堰区 Vokw新北区 Viku武进区 VjkY金坛市 VPkT溧阳市 VIlZ苏州 VJla金阊区 VIlb沧浪区 VJlc平江区 VIlY虎丘区 VGlb吴中区 VLlb相城区 Vdli常熟市 VqlW张家港市 VNlv昆山市 VAlc吴江市 VRm6太仓市 Vxlr南通 W0lp崇川区 W2ln港闸区 Vnmd启东市 WOlX如皋市 W5m4通州市 Vsm9海门市 WXlR海安县 WJmA如东县 YakA连云港 YakA新浦区 YikM连云区 YYk8海州区 Yok7赣榆县 YVjk东海县 YIkF灌云县 Y6kL灌南县 Xbk1淮安 Xak0清河区 Xak2清浦区 XUk9楚州区 Xck2淮阴区 XkkG涟水县 XIjp洪泽县 X0jT盱眙县 X1k1金湖县 XLl9盐城 XOl8亭湖区 XLl8盐都区 WplJ东台市 XClR大丰市 YCkY响水县 Xyko滨海县 Xlkm阜宁县 XklF射阳县 XSkm建湖县 WNkQ扬州 WOkQ广陵区 WNkO邗江区 WPkO维扬区 WGkB仪征市 WlkQ高邮市 WQkX江都市 XEkJ宝应县 WCkQ镇江 WCkR京口区 WCkO润州区 W8kQ丹徒区 VykY丹阳市 WEkn扬中市 VukA句容市 WTks泰州 WUkt海陵区 WIkr高港区 Wuko兴化市 W1lF靖江市 WAl0泰兴市 WUl8姜堰市 XvjI宿迁 XwjF宿城区 XvjJ宿豫区 Y8jk沭阳县 Xhje泗阳县 XRjC泗洪县',
		'江西省 Sfgs南昌 SXgu南昌县 Sfgn新建县 SpgX安义县 SMhG进贤县 TCi7景德镇 Swi7乐平市 TNiE浮梁县 Rceo萍乡 R8ev莲花县 Rrem上栗县 Rcf2芦溪县 Thgx九江 Tfgd瑞昌市 Tbgr九江县 TGg6武宁县 T2fY修水县 T3gn永修县 TKgj德安县 TRh2星子县 TGhB都昌县 TihD湖口县 TshX彭泽县 Rmfu新余 Rnff分宜县 SFi2鹰潭 SHiC贵溪县 SChn余江县 Ppfu赣州 Pqh1瑞金市 Pefj南康市 Pqg0赣县 PNfu信丰县 POfL大余县 PmfW上犹县 PgfI崇义县 P8gO安远县 Osfl龙南县 Okg1定南县 OjfV全南县 QSh1宁都县 PvgP于都县 QJgL兴国县 PZgl会昌县 Ovgc寻乌县 QKhK石城县 R6fw吉安 QYfA井冈山市 R2fs吉安县 RDg8吉水县 RXg9峡江县 RkgO新干县 RJgQ永丰县 QKfU遂川县 Qmfs泰和县 QSfl万安县 RNfb安福县 QvfE永新县 RmfM宜春 SCgl丰城市 S4gW樟树市 SQgM高安市 SggN奉新县 S7fR万载县 SEfu上高县 SOfl宜丰县 SqgL靖安县 SVfL铜鼓县 RuhI临川区 RYhc南城县 RIht黎川县 RDhW南丰县 Rjh4崇仁县 RQgo乐安县 RXhD宜黄县 Rthl金溪县 Rgi4资溪县 SEha东乡县 QohJ广昌县 SRiw上饶 SviZ德兴市 SQis上饶县 SQjB广丰县 SfjE玉山县 SIig铅山县 SPia横峰县 SOiP弋阳县 Sfhf余干县 Syhe波阳县 Sgi4万年县 TFip婺源县',
		'山东省 adhw济南 aXhi长清区 ahiV章丘县 aHhQ平阴县 awiD济阳县 bIi9商河县 ahiV明水街道 a5lL青岛 aHl0胶州市 aNlS即墨市 alku平度市 Zrkx胶南市 aplV莱西市 aplW水集街道 amj3淄博 anio周村区 aTip博山区 aciv淄川区 alj4张店区 awj6桓台县 bAin高青县 aBjA沂源县 avj6索镇 aBjA南麻镇 YqiX枣庄 YmiG薛城区 YkiZ峄城区 Z5iR山亭区 YXij台儿庄区 Z5i9滕州市 YaiM韩庄 bRjS东营 bUjF利津县 bZjW垦利县 b3jO广饶县 bXmM烟台 bYmL芝罘区 bUmF福山区 bNmZ牟平区 bdlK龙口市 awlg莱阳市 bAkv莱州市 bmlj蓬莱市 bLlO招远市 bIlp栖霞市 akmA海阳市 btli长岛县 agk6潍坊 akkD寒亭区 afjT青州市 ZykO诸城市 arji寿光县 aQkC安丘市 aNkj高密市 apkO昌邑市 agjn昌乐县 aVjW临朐县 bUn7威海 bBn3文登市 asmV乳山市 bAnO荣城市 ZOhZ济宁 ZZhx曲阜市 ZXhn兖州市 ZOhv邹城市 Yyhd鱼台县 Z4hI金乡县 ZOhK嘉祥县 Ymi7微山县 ZihT汶上县 ZdiG泗水县 Zlh6梁山县 Yxhd谷亭镇 aBi8泰安 Zsik新泰市 aEhk肥城市 Zjhl宁阳县 ZthI东平县 ZPkR日照 ZjkC五莲县 ZZjn莒县 aBie莱芜 Z3jK临沂 ZXjS沂南县 YbjK郯城县 Zljc沂水县 Ypj3苍山县 ZGiv费县 ZUic平邑县 ZBjn莒南县 Zgiu蒙阴县 Ytjd临沭县 ZXjR界湖镇 Ypj3卞庄镇 ZAjo十字路镇 bRhH德州 biiC乐陵市 avhd禹城市 bKhY陵县 bdhl宁津县 bliN庆云县 bBhp临邑县 amhj齐河县 bAhQ平原县 avh0夏津县 bDh4武城县 amhi晏城镇 aRgw聊城 apgg临清市 a7gl阳谷县 aEge莘县 aZhE茌平县 aKhE东阿县 aSgQ冠县 aqhE高唐县 aJhE铜城镇 bMj1滨州 bTiU惠民县 bciZ阳信县 biia无棣县 bgj8沾化县 b8j8博兴县 arii邹平县 bgj8富国镇 ZEgQ菏泽 YogW曹县 Ymh5单县 Yvgq成武县 ZNh5巨野县 Zagu郓城县 ZYgU鄄城县 Z4gY定陶县 ZHg6东明县',
		'上海市 VEmS上海 VPmT宝山区 VBmg川沙县 VNmF嘉定区 VEmU浦东新区 Usm9金山区 V1mE松江区 V9m6青浦区 V3mj南汇区 UtmR奉贤区 VcmN崇明县',
		'浙江省 SemQ椒江 SRms大陈镇 SdmF黄岩 SXmF院桥镇 SYmC沙埠镇 Sbm6北洋镇 Scm9头陀镇 Scm0屿头镇 SZlw宁溪镇 SZmM路桥 SUmV金清镇 SXmT蓬街镇 SVmP新桥镇 SWmQ横街镇 Som6临海 SkmU杜桥镇 Ssls白水洋镇 SmmA汛桥镇 SomZ桃渚镇 SumG东塍镇 SkmE沿江镇 Splx扩苍镇 SkmJ涌泉镇 SpmR小芝镇 SjmZ上盘镇 Sim6尤溪镇 Sym6河头镇 Srm5永丰镇 SumD汇溪镇 ShmJ红光 SvmD两头门 SjmE水家洋 SMmL温岭 SUmM泽国镇 SSmQ新河镇 SKmP城南镇 SKma松门镇 SOmV箬横镇 SLmR石桥头镇 SGma石塘镇 SJmX木耳 SImQ沙岙 SHma箬山 SLmY淋头 S7mD玉环 S8mE珠港镇 SDmI楚门镇 SFmH清港镇 SEmN沙门镇 S5m9大麦屿镇 SCmE芦浦镇 SAmL干江镇 S5mG坎门 T8m1天台 T7mM三门县 T8mM海游镇 T9mO沙柳镇 T4mH珠岙镇 T3mL亭旁镇 T5ma六敖镇 T0mT横渡镇 T3mb健跳镇 Swmb浬浦镇 StmT花桥镇 SrmY小雄镇 Spli仙居 SilW皤滩 SemP台州 UFlA杭州 UAlG萧山区 UPlI余杭区 TTkH建德市 U4kv富阳市 UEkh临安市 Tmkd桐庐县 Tbk2淳安县 UHku余杭镇 TqmX宁波 TqmY鄞州区 Tvmi镇海区 U3m9余姚市 UBmE慈溪市 TemP奉化市 THmP宁海县 TTmr象山县',
		'黑龙江省 jjrb哈尔滨 jbrd平房区 jxra呼兰区 jWrJ双城市 kIuX依兰县 joto方正县 jvt3木兰县 jwtj通河县 jRtK延寿县 jgro成高子镇 jDsv尚志 jGsV帽儿山镇 iutb亚布力镇 j4t4一面坡镇 ivtN苇河镇 iutk鱼池朝鲜族乡 iusA五常 ilsF山河屯镇 jWrw阿城市区 jTs4亚沟镇 jOsA玉泉镇 jKsI小岭镇 jLs5交界镇 jls0永源镇 jjs9蜚克图镇 jcs3料甸满族乡 jYs7红星乡 jJsO平山镇 jOsQ山河镇 jjsT宾县(宾州) jjsA宾西镇 jksH居仁镇 josj宾安镇 jts4糖坊镇 jXsS松江镇 jist宁远镇 jmt3胜利镇 jtsn新甸镇 kQs7兴隆镇 k5sN巴彦 lLow齐齐哈尔 l9om昂昂溪区 lCob富拉尔基区 lUnr碾子山区 mTpr讷河市 lKoB龙江县 lrqI依安县 kNoP泰来县 ltoU甘南县 llpR富裕县 m1qq克山县 m2rF克东县 lar5拜泉县 jHvw鸡西 jIvw鸡冠区 j5vf梨树区 jCvs恒山区 jMvm滴道区 jKw4城子河区 juyi虎林市 jWwq密山市 jFwA鸡东县 lKvH鹤岗 lYvo萝北县 lHwp绥滨县 kcw9双鸭山 kZwK四方台区 kYw8岭东区 kYwO宝山区 khw8集贤县 kKxC宝清县 kmz1饶河县 knwE福利屯 khw8福利镇 kaq1大庆 kaq2萨尔图区 kXq7龙凤区 kdpq让胡路区 kSpq红岗区 jVq5肇源县 jgqG肇州县 lBpq林甸县 kqpQ杜尔伯特蒙古族自治县 kZq3东水源泡 kaq4东风泡 lhts伊春 l8uH南岔区 lqto友好区 lUuI西林区 lhte翠峦区 lbu7美溪区 lOuQ金山屯区 lhtm乌马河区 l1u1带岭区 kxt4铁力市 muv3嘉荫县 kmvM佳木斯 ldxT同江市 lFx1富锦市 kDvW桦南县 l1vg桦川县 khus汤原县 mMzI抚远县 kivS长发镇 kqvI莲江口镇 kevZ横头山镇 kpv9望江镇 jmvo七台河 jjvY勃利县 iZub牡丹江 itvV穆棱市 iOw8绥芬河市 iYuN海林市 iKuS宁安市 i3w7东宁县 jHvG林口县 itvX八面通镇 iVvG穆棱镇 iavK兴源镇 iYuq磨刀石镇 ifvR下城子镇 ifvW马桥河镇 iPvr绥阳镇 iZu6山市镇 iTtt长汀镇 iPu7新安朝鲜族乡 ikuf柴河镇 inu4横道河子镇 i7uC东京城镇 iGuO兰岗镇 iBuK石岩镇 i7u9渤海镇 iAtw沙兰镇 i1wF三岔口朝鲜族镇 ifuf桦林镇 iZuf铁岭镇 iQuT温春镇 oFsT黑河 oDsW爱辉区 mErV北安市 nAqE嫩江县 nYtS逊克县 nPsJ孙吴县 kcrx绥化 kOqJ安达市 k4qx肇东市 lRrv海伦市 korT望奎县 kGrH兰西县 kfr6青冈县 kqsV庆安县 lBqs明水县 lFs6绥棱县 oQp8大兴安岭地区 oPp7加格达奇区 phrd呼玛县 qKph塔河县 rTnK漠河县',
		'吉林省 hqqL长春 hVqe双阳区 i9qo九台市 inrX榆树市 iWqg德惠市 iPqB农安县 hprY吉林 iOrv舒兰市 gwrj桦甸市 hhsK蛟河市 gur4磐石市 herU永吉县 hApM四平 hUpn公主岭市 hVoU双辽市 hIpJ梨树县 hKqI伊通满族自治县 gsq8辽源 gtpx东辽县 geqV东丰县 fhqu通化 gWqf梅河口市 f7rB集安市 gfr2辉南县 ffqj通化县 gGqi柳河县 furP白山市 gNrm靖宇县 gKsG抚松县 fPtC长白朝鲜族自治县 jbno白城 jKnk洮南市 jUpH大安市 jpoC镇赉县 imo5通榆县 jBpm松原市 jApn宁江区 jApq扶余县 iGox长岭县 iyp1乾安县 j7pn前郭镇 guuU延边州 gsuV延吉市 gwuo图们市 hMtE敦化市 gkuP龙井市 gqvM珲春市 gXu1和龙县 h6tt安图县 hJui汪清县',
		'辽宁省 fmoN沈阳 fnoY东陵区 feoL苏家屯区 fxnn新民市 fUni辽中县 gUoO法库县 gioL康平县 cvmZ大连 cmmF旅顺口区 d6mh金州区 dbn0瓦房店市 dOmw普兰店市 dfnw庄河市 dGnZ长海县 dCmu亮甲店镇 dGmm三十里堡镇 f7nx鞍山 epnj海城市 fNnQ台安县 eHoH岫岩满族自治县 f4no腾鳌镇 fqos抚顺 fqov抚顺县 g6pt清原满族自治县 fhq2新宾满族自治县 fIok本溪 fIp7本溪满族自治县 fFqL桓仁满族自治县 e7pL丹东 dqp9东港市 eSp4凤城市 eipl宽甸满族自治县 drp9大东街道 e2pK浪头镇 f7m9锦州 fAmL凌海市 faml北镇市 ffn7黑山县 fWmF义县 faml广宁街道 fBmL大凌河街道 fan9大虎山镇 fMml沟帮子镇 g0nA新立屯镇 fWmF义州镇 efnH营口 eOnM盖州市 ecnU大石桥市 g1md阜新 gNnW彰武县 g4mi阜新蒙古族自治县 fGoA辽阳 fPoJ灯塔县 fCo4辽阳县 fBn3盘锦 eyn4大洼县 fCn3盘山县 gHoo铁岭 gSoW调兵山市 gWp2开原市 gIop铁岭县 giph西丰县 gkp8昌图县 fZlR朝阳 fnlk北票市 fEkO凌源市 falP朝阳县 fOkd建平县 f8ki喀喇沁左翼蒙古族自治县 fOkc叶柏寿街道 f7ki大城子镇 eilp葫芦岛市 eblg兴城市 eJlL绥中县 emkm建昌县',
		'广东省 N7eG广州 MveM番禺区 NNeC花都区 NIeo增城市 NXeZ从化市 MXf7深圳 MZer宝安区 MGeY珠海 MDeH斗门区 NLhf汕头 NGha潮阳区 NShk澄海区 NQi1南澳县 OmeZ韶关 Ofea曲江区 P8eL乐昌市 P7fI南雄市 Ovf4始兴县 P5ej仁化县 OLf8翁源县 O4fC新丰县 OleG乳源瑶族自治县 N2e7佛山 MpeF顺德区 NAdr三水区 Mrdp高明区 MZe5江门 MWe2新会区 MFdm台山市 MNdf开平市 Mkdv鹤山市 MCdI恩平市 Lebr茂名 Ltbp高州市 Ldbc化州市 MMbu信宜市 LVc0电白县 LBbN湛江 LbbH廉江市 Ksb5雷州市 LRbl吴川市 LNbF遂溪县 KKbA徐闻县 N3dR肇庆 N3dR高要市 NLdg四会市 NddQ广宁县 NtdB怀集县 NRcU封开县 N9ck德庆县 N6fO惠州 MmfS惠阳区 NAfH博罗县 Mxfh惠东县 NifF龙门县 OJh7梅州 O8gi兴宁市 OIh7梅县 OLhf大埔县 NkhA丰顺县 Nugk五华县 OYgr平远县 OdhA蕉岭县 MkgL汕尾 Mvgc陆丰县 MxgK海丰县 NJgd陆河县 Niff河源 NdgA紫金县 O6gF龙川县 OLfT连平县 OQfu和平县 Lpcv阳江 MBcl阳春市 Ljcc阳西县 Nhe1清远 OAeO英德市 OldN连州市 NqeW佛冈县 OTdc阳山县 OYd4连山壮族瑶族自治县 OhdH连南瑶族自治县 N3ei东莞 MWeM中山 Nehc潮州 Nfi0饶平县 NWhL揭阳 NIhA普宁市 NQgo揭西县 N2hH惠来县 Mud2云浮 MkcY罗定市 MgdE新兴县 NFcV郁南县',
		'广西壮族 MmZJ南宁 MjZT邕宁区 NAZH武鸣县 NBYf隆安县 NhZA马山县 NRZZ上林县 NDZn宾阳县 MgaG横县 OJaO柳州 OFaK柳江县 OdaE柳城县 OTai鹿寨县 PDaN融安县 P4aF融水苗族自治县 Plaa三江侗族自治县 PHbH桂林 OlbT阳朔县 PEbC临桂县 PPbJ灵川县 Ocbd平乐县 Pbbe兴安县 PTc9灌阳县 OUbN荔浦县 Q2bc资源县 Oxax永福县 Pmb1龙胜各族自治县 Oobn恭城瑶族自治县 NTcI梧州 Muc0岑溪市 NPcE苍梧县 NMbs藤县 OCbV蒙山县 LTa7北海 LeaB合浦县 LkZL防城区 M9Yx上思县 OPcW贺县 OWcI钟山县 OAbm昭平县 OncG富川瑶族自治县 NiaE来宾 NmZq合山市 Nvaf象州县 Naad武宣县 O4Ze忻城县 O8bB金秀瑶族自治县 N6ab贵港 NOb4桂平县 NXbO平南县 Mcb8玉林 MhbL北流市 MqbX容县 MKbG陆川县 MHaw博白县 NsXb百色 OLXZ凌云县 NJYY平果县 OUW5西林县 OmXY乐业县 NKXb德保县 OIXE田林县 NiXt田阳县 N9XP靖西县 NaY7田东县 NPWo那坡县 OlWK隆林各族自治县 OgZ3河池 OTZd宜州市 P1Y9天峨县 OXY3凤山县 OxYW南丹县 OVYM东兰县 NuZ6都安瑶族自治县 OlZs罗城仫佬族自治县 O9YF巴马瑶族自治县 OoZF环江毛南族自治县 NjYx大化瑶族自治县 LvZb钦州 MQaH灵山县 MGaW浦北县 MPYL崇左 M8Y4宁明县 MdYs扶绥县 MLXp龙州县 MoYC大新县 N5Y8天等县',
		'海南省 K2bL海口 K0bL琼山区 IEaU三亚 Jbbj文昌市 JFbS琼海市 ImbO万宁市 J6Zc东方市 IkaV五指山市 JVaZ儋州市 Jtaf临高县 Jib1澄迈县 JgbJ定安县 JMb6屯昌县 JGa3昌江黎族自治县 JEaR白沙黎族自治县 J3ao琼中黎族苗族自治县 IUb2陵水黎族自治县 Icag保亭黎族苗族自治县 IjaA乐东黎族自治县',
		'河南省 Yked郑州 YneH上街区 YOeh新郑市 YleN荥阳市 YWeN新密市 Yjdx巩义市 YRe2登封市 Yif1中牟县 YlfK开封 YXfl杞县 YSfS通许县 YPfB尉氏县 Ynfn兰考县 YedM洛阳 YbdS洛龙区 Ysda吉利区 Yidk偃师市 YodQ孟津县 Yid8新安县 Xlcb栾川县 Y8d5嵩县 Y9dS汝阳县 YVdA宜阳县 YNcd洛宁县 YPdP伊川县 XieI平顶山 XHeT舞钢市 YAdo汝州市 Xqe4宝丰县 XbeL叶县 Xidr鲁山县 XweC郏县 ZFe9焦作 ZEeA中站区 ZGeJ马村区 Z5du沁阳市 Ysdl孟州市 ZEeQ修武县 ZAe4博爱县 Z6eN武陟县 Yue4温县 ZsfA鹤壁 ZjfH淇滨区 ZsfB山城区 ZwfA鹤山区 ZefW浚县 ZafB淇县 ZJeq新乡 ZOet凤泉区 ZPf4卫辉市 ZSem辉县市 ZGed获嘉县 Z3ev原阳县 Z8fB延津县 ZCff长垣县 Z2fP封丘县 a6fK安阳 a4en林州市 ZtfL汤阴县 Zvfs内黄县 ZYfU滑县 Zlg3濮阳 Zsg6清丰县 a4gC南乐县 ZsgT范县 Zxgp台前县 Zgg1濮阳县 Y1em许昌 Y1en魏都区 YAeS禹州市 YDek长葛市 Y1eo许昌县 Y6fB鄢陵县 XpeS襄城县 XYf2漯河 Xaey郾城区 XQeZ舞阳县 Xnev临颖县 YlcC三门峡 Yjcq义马市 YVbq灵宝市 Ygc5陕县 Ykcj渑池县 Y3c2卢氏县 WydW南阳 Wfd5邓州市 XTdP南召县 XFdy方城县 X2dE镇平县 X3du社旗县 Wfdo唐河县 WVdL新野县 X3cp内乡县 XIcS西峡县 X8cS淅川县 WMeO桐柏县 YQgc商丘 YQgd梁园区 YNgb睢阳区 XuhM永城市 Ycg8民权县 YPg3睢县 YQgJ宁陵县 Y4gH柘城县 YNgp虞城县 YEh8夏邑县 W8f4信阳 W6f7平桥区 WBfV罗山县 W1fs光山县 Vbfp新县 VmgO商城县 WAge固始县 W8g3潢川县 WQgO淮滨县 WLfh息县 Xbfc周口 Xcfc川汇区 XQfs项城市 Y4fO扶沟县 XlfW西华县 XXfa商水县 XNg4沈丘县 XcgB郸城县 Xifr淮阳县 Y4fq太康县 XpgS鹿邑县 Wxf1驻马店 XNf1西平县 XGfF上蔡县 Wvfb平舆县 WafN正阳县 Wmf1确山县 WheJ泌阳县 WyfL汝南县 X8ex遂平县 Wjfw新蔡县 Z5dZ济源市',
		'湖北省 UYfH武汉 UZf2汉阳区 ULfJ武昌区 UqfL黄陂区 Upfl新洲区 UDg6黄石 U6fw大冶市 TogD阳新县 W5d6襄樊 W1d9襄阳区 W8dj枣阳市 WNcf老河口市 VgdF宜城县 WGcd谷城县 VrcG保康县 Vkco南漳县 Wdbl十堰 Wobn郧县 WybP郧西县 WEbE竹山县 WKah竹溪县 W4bi房县 UIdF沙市区 ThdO石首市 TneS洪湖市 UBck松滋市 U3dE公安县 Tnds监利县 ULdB江陵县 UgcH宜昌 UNcR宜都市 Uocl当阳市 UPcj枝江市 V4cc远安县 VEbj兴山县 V0bf秭归县 UScB长阳土家族自治县 UCbe五峰土家族自治县 Upc1三峡大坝 V2dC荆门 V1e6京山县 VAdZ钟祥县 UgdZ沙洋县 Uqdd旧口镇 V1e6新市镇 UOfr鄂州 Utes孝感 Udeo汉川市 VFef安陆市 UueY应城市 VXf7大悟县 VFex孝昌县 V1ei云梦县 VEew花园镇 VTfG新城镇 URfq黄州区 VBg2麻城市 TpgX武穴市 Ucfq团风县 VHfb红安县 UlgN罗田县 Ujge英山县 USgF浠水县 UEgP蕲春县 U5gu黄梅县 UlgN凤山镇 USgF清泉镇 TqfG咸宁 Theq赤壁市 Txes嘉鱼县 TGem通城县 TXf3崇阳县 TafU通山县 VheM随州 Vben广水市 UGaS恩施 UIZu利川市 Ubai建始县 V2bO巴东县 TxaT宣恩县 Tfa9咸丰县 TUaO来凤县 Tsb2鹤峰县 UMeR仙桃市 UPds潜江市 UdeA天门市 Vjbf神农架林区',
		'湖南省 SCdw长沙 S9eb浏阳市 SCdx长沙县 SNdm望城县 SFdW宁乡县 Rqe7株洲 ReeT醴陵市 Rhe9株洲县 QyeK攸县 QleW茶陵县 QUek炎陵县 Rqds湘潭 RidV湘乡市 Rqdu湘潭县 Qsdb衡阳 REdh南岳区 QPdp耒阳市 QOdM常宁市 QxdK衡阳县 Qqda衡南县 REdp衡山县 R5dv衡东县 Qld7祁东县 RFcS邵阳 Qibb武冈市 RFci邵东县 RKcR新邵县 QycF邵阳县 R7c1隆回县 R4bY洞口县 QZb9绥宁县 QQbo新宁县 QLbI城步苗族自治县 QZb9长铺镇 TNe6岳阳 Sne5汨罗市 TSeS临湘县 T8e7岳阳县 TVdX华容县 Shdm湘阴县 SgeY平江县 TAdm洞庭湖 T2cf常德 Tccp津市市 TPd9安乡县 Stcw汉寿县 TQcc临澧县 Tccj澧县 SscS桃源县 TZcM石门县 T8bT张家界 TQc7慈利县 TObA桑植县 SZdK益阳 SpdM沅江市 TMdO南县 SVd7桃江县 SNcC安化县 Pne2郴州 PveD资兴市 Pidh桂阳县 POdv宜章县 Q8e7永兴县 PZdL嘉禾县 PHdW临武县 PXee汝城县 Q5eu桂东县 QgeF安仁县 QQcZ永州 QRcY冷水滩区 QDca零陵区 QZcp祁阳县 QOcH东安县 Pwcd双牌县 PWcY道县 PGcJ江永县 Pacv宁远县 PMdB蓝山县 PsdC新田县 PBcZ江华瑶族自治县 PBcY沱江镇 RXav怀化 R7ax洪江市 SRbO沅陵县 S0bA辰溪县 RsbZ溆浦县 RJb7中方县 Qrag会同县 Rram麻阳苗族自治县 RLaA新晃侗族自治县 RRae芷江侗族自治县 QYaf靖州苗族侗族自治县 QAak通道侗族自治县 RCam黔城镇 Rjcx娄底 RfcP冷水江市 Rgce涟源市 RRdB双峰县 RjcH新化县 SJai吉首市 SHb9泸溪县 RvaZ凤凰县 SaaS花垣县 Sgad保靖县 Sbau古丈县 T0ao永顺县 TRaQ龙山县 Saaw古阳镇',
		'贵州省 QYXg贵阳 QXXS清镇市 R4Xw开阳县 QpXa修文县 R6Xi息烽县 QZVq六盘水 QZVq水城县 PmVd盘县 QCWT六枝特区 RgXu遵义 SZWg赤水市 RnXP仁怀市 RWXn遵义县 RwYB绥阳县 S8Xn桐梓县 SJXC习水县 RwYh凤冈县 SXYR正安县 RDYs余庆县 RkYT湄潭县 SrYa道真仡佬族苗族自治县 SWYr务川仡佬族苗族自治县 QFWu安顺 QJWj普定县 QPXG平坝县 Q3Wk镇宁布依族苗族自治县 PjX5紫云苗族布依族自治县 PvWb关岭布依族苗族自治县 RhaC铜仁 SGZ7德江县 RgZp江口县 RuZF思南县 RVZE石阡县 REZt玉屏侗族自治县 SAaC松桃苗族自治县 S0ZP印江土家族苗族自治县 SYZU沿河土家族自治县 RVaD万山特区 RIWH毕节 R2X2黔西县 R9Wa大方县 RIWH毕节县 QeWk织金县 RSXD金沙县 R8Vh赫章县 QlWN纳雍县 QqVH威宁彝族回族苗族自治县 P5Vs兴义市 PAX6望谟县 PQWB兴仁县 PlVv普安县 OyWn册亨县 PoWD晴隆县 PNWd贞丰县 P7WS安龙县 QZYx凯里市 R2Z7施秉县 PjZs从江县 QfaC锦屏县 R3ZP镇远县 QUYZ麻江县 QfZJ台江县 QtaC天柱县 QsYs黄平县 PuZV榕江县 QdZZ剑河县 QwZf三穗县 QNZ4雷山县 QEa8黎平县 RDZi岑巩县 QCYm丹寨县 QGYV都匀市 QgYV福泉市 QZYE贵定县 Q8Xd惠水县 PQXj罗甸县 R4YT瓮安县 PPYr荔波县 QSXx龙里县 PoYK平塘县 Q2XR长顺县 PoYX独山县 PyYq三都水族自治县',
		'四川省 UeV4成都 UoV9新都区 UgUo温江区 V0Ub都江堰市 UxUu彭州市 UPUR邛崃市 UcUe崇州市 UpVQ金堂县 UmUr郫县 UPUm新津县 UYUt双流县 UCUU蒲江县 UZUV大邑县 TLVk自贡 TSVP荣县 TBVx富顺县 QXSi攀枝花 QrT7米易县 QtSX盐边县 SrWR泸州 SlWN纳溪区 SsWQ泸县 SnWo合江县 SBWR叙永县 S2Wn古蔺县 V9VN德阳 UxVH广汉市 V8VA什邡市 VLVC绵竹市 V3Vf中江县 VSVi绵阳 VlVi江油市 VEWN盐亭县 V6W5三台县 WPVW平武县 VdVQ安县 VcW9梓潼县 VoVR北川羌族自治县 WRWn广元 WZWE青川县 WDXH旺苍县 W2WS剑阁县 VjWu苍溪县 UVWZ遂宁 UrWN射洪县 UlWh蓬溪县 TZW4内江 TlVp资中县 TLWG隆昌县 TVVe威远县 TYUj乐山 TaUT峨眉山市 TiUY夹江县 TeV5井研县 TDUv犍为县 SwUs沐川县 SoUW马边彝族自治县 TEUG峨边彝族自治县 UmX5南充 VZWw阆中市 V5XY营山县 V2XP蓬安县 VWXO仪陇县 VMX4南部县 V1Wr西充县 U3Uo眉山 U0V9仁寿县 UCUq彭山县 TtUM洪雅县 U2UV丹棱县 ToUp青神县 SkVb宜宾 SgVV宜宾县 SKW5兴文县 SpVw南溪县 SNVm珙县 SZVs长宁县 SOVX高县 SiW3江安县 SAVV筠连县 SdVA屏山县 USXc广安区 UNXk华蓥市 UXXQ岳池县 UKXt邻水县 UMXH武胜县 W4Z3万源市 VEYU达县 UpXw渠县 VMYh宣汉县 V5Yq开江县 UiYC大竹县 TxTx雅安 UATu芦山县 TETM石棉县 U6U6名山县 U5Tj天全县 TmTo荥经县 UMTn宝兴县 TLTf汉源县 VpXk巴中 WMXo南江县 VYY7平昌县 VuYF通江县 U8Vd资阳 UNVX简阳市 U7WJ安岳县 UHW1乐至县 VtTE马尔康县 XGVE九寨沟县 WmTX红原县 VTUZ汶川县 WsSg阿坝县 VRUA理县 UyTL小金县 XZTw若尔盖县 W4Tx黑水县 VTT3金川县 WdUa松潘县 WGRw壤塘县 VfUp茂县 U3Sw康定县 UrSr丹巴县 VORf炉霍县 T0SV九龙县 VcQx甘孜县 U2S0雅江县 UvRI新龙县 UxS7道孚县 VDPo白玉县 TyRG理塘县 VmPZ德格县 SuQm乡城县 WxP6石渠县 T2RI稻城县 WGRK色达县 TtTE泸定县 U1Q7巴塘县 ShQH得荣县 RsTG西昌市 SKU8美姑县 S1To昭觉县 RgUF金阳县 SwTk甘洛县 RhTm布拖县 SGUY雷波县 RNTW普格县 R4Tj宁南县 SJTO喜德县 QdTY会东县 SdTU越西县 QeTE会理县 RQSU盐源县 ROTA德昌县 SXTA冕宁县 RuSH木里藏族自治县',
		'西藏 TdI8拉萨 TsIG林周县 UTI6当雄县 TQHA尼木县 TLHi曲水县 TeHv堆龙德庆县 TeIL达孜县 ToIi墨竹工卡县 V9OA昌都 V8OA昌都县 VUPC江达县 UqPG贡觉县 VDNZ类乌齐县 VPMc丁青县 U3Nt八宿县 TfOp左贡县 TfPZ芒康县 UjMo洛隆县 UuLg边坝县 UeOY察雅县 TEIl山南地区 TEIl乃东县 TDII扎囊县 THHx贡嘎县 T2If琼结县 T3JC曲松县 SQIQ措美县 SNHq洛扎县 T8JZ加查县 SPJS隆子县 RyIv错那县 SwHO浪卡子县 TGFs日喀则 TfG6南木林县 StGa江孜县 SeE7定日县 SsF1萨迦县 T5Ec拉孜县 THEE昂仁县 TQFG谢通门县 T6GF白朗县 TEGo仁布县 SYGf康马县 SMEk定结县 TdBB仲巴县 RTFs亚东县 SpCJ吉隆县 S9Cw聂拉木县 TJCD萨嘎县 SGFW岗巴县 VTJ3那曲 VTJ3那曲县 UaKU嘉黎县 VTKf比如县 W7JH聂荣县 WGIe安多县 UuFg申扎县 VrKl索县 VMH1班戈县 VtL4巴青县 WU76阿里地区 WU75噶尔县 V1C9措勤县 UJ8B普兰县 VT6m札达县 XP6d日土县 WO87革吉县 WIB4改则县 WV76狮泉河 TeLL林芝地区 TeLL八一镇 TZLT林芝县 T3K6朗县 TDLC米林县 SeOT察隅县 TqMj波密县 TrKF工布江达县 TEIl泽当镇',
		'云南省 P3Tg昆明 Q6UB东川区 OsTT安宁市 OsTm呈贡县 OeTa晋宁县 PETT富民县 OtU9宜良县 PKU2嵩明县 OkUG石林彝族自治县 PYTS禄劝彝族苗族自治县 PYUF寻甸回族彝族自治县 PaUn沾益县 PTUm曲靖 QDV6宣威市 PQUZ马龙县 P2Ue陆良县 OoUx师宗县 OrVI罗平县 PeVF富源县 QPUI会泽县 OLTW玉溪 OITj江川县 OeTt澄江县 O6Tj通海县 OCTu华宁县 OeT9易门县 OATO峨山彝族自治县 O5Sx新平彝族傣族自治县 NaT0元江哈尼族彝族傣族自治县 P7QA保山 P1PU腾冲县 OiQB施甸县 OZPf龙陵县 OoQa昌宁县 RLUh昭通 RCUX鲁甸县 QtTt巧家县 S5VF盐津县 RjUs大关县 SEUc永善县 SaUv绥江县 RQVq镇雄县 RcV3彝良县 RpW3威信县 ScVO水富县 QfRj永胜县 QcSG华坪县 QrRE玉龙纳西族自治县 RHRp宁蒗彝族自治县 MmRx思茅 N4S2普洱哈尼族彝族自治县 NQSg墨江哈尼族自治县 ORRo景东彝族自治县 NURg景谷傣族彝族自治县 NqRr镇沅彝族哈尼族拉祜族自治县 MaSq江城哈尼族彝族自治县 MKQa孟连傣族拉祜族佤族自治县 MYQu澜沧拉祜族自治县 MiQS西盟佤族自治县 NrR5临沧 OaQt凤庆县 OQR8云县 O2QF永德县 NrQ1镇康县 NSQo双江拉祜族佤族布朗族傣族自治县 NWQP耿马傣族佤族自治县 N9QF沧源佤族自治县 NMVE文山 NNVE文山县 NbVK砚山县 NRVe西畴县 N7Vf麻栗坡县 N1VN马关县 O3VC丘北县 O3W4广南县 NcWb富宁县 NMUO蒙自县 NLUA个旧市 NhUE开远市 N0TO绿春县 NbTn建水县 NhTT石屏县 OPUQ弥勒县 OWUk泸西县 NATj元阳县 NMTP红河县 MlUD金平苗族瑶族傣族自治县 MVUw河口瑶族自治县 MxUf屏边苗族自治县 M1Rm景洪市 LwRR勐海县 LTSY勐腊县 P2SX楚雄市 OgSc双柏县 PJSW牟定县 PCSH南华县 PVSF姚安县 PiSK大姚县 Q4Se永仁县 PgSr元谋县 PWTO武定县 P9T5禄丰县 PZRE大理 PTRY祥云县 PoRZ宾川县 PLRU弥渡县 PSQV永平县 PsQM云龙县 Q7Qv洱源县 QWQs剑川县 QYRB鹤庆县 PdQw漾濞彝族自治县 P3RW南涧彝族自治县 PERJ巍山彝族回族自治县 ORPZ潞西市 O1Oq瑞丽市 OmPI梁河县 OgOu盈江县 OMOw陇川县 QRQP兰坪县 PxPn泸水县 QsPr福贡县 RjPe贡山独龙族怒族自治县 STPs德钦县 RnQg香格里拉县 STPt德钦县 RBQH维西傈僳族自治县',
		'重庆市 TXXV重庆 TWZl黔江区 ToXQ北碚区 ThXb江北区 UnZM万州区 TNXV巴南区 TTWk双桥区 ToY4长寿区 TyXG合川市 TMWs永川市 THXF江津市 TAY6南川市 T2Xc綦江县 UAWn潼南县 TpX3铜梁县 TgWg大足县 TOWZ荣昌县 TaXD璧山县 UJYL垫江县 TJYj武隆县 TrYh丰都县 VvZe城口县 UeYl梁平县 VCZP开县 VOab巫溪县 V5ar巫山县 V3aV奉节县 UwZr云阳县 UHZ1忠县 TyZ7石柱土家族自治县 SRZx秀山土家族苗族自治县 SoZk酉阳土家族苗族自治县 TIZ9彭水苗族土家族自治县',
		'甘肃省 a4Uj兰州 aiUG永登县 ZoV6榆中县 aKUu皋兰县 cSTA金昌 cFSw永昌县 aXVC白银 aYVf靖远县 b9V5景泰县 ZgW3会宁县 YZWh天水 YhVs武山县 YiWJ甘谷县 YjX7清水县 YpWe秦安县 YxXC张家川回族自治县 dmPJ嘉峪关 btTc武威 cbU5民勤县 bSTr古浪县 awU8天祝藏族自治县 cuRR张掖 cQRn民乐县 clS5山丹县 d9RA临泽县 dMQn高台县 coQb肃南裕固族自治县 ZXXf平凉 Z4Ya灵台县 ZVWh静宁县 ZIY2崇信县 ZDXd华亭县 ZKYL泾川县 ZCX2庄浪县 djPV酒泉 dnOY玉门市 e8Le敦煌市 eWMl安西县 dxPs金塔县 dPLG阿克塞哈萨克族自治县 dVLr肃北蒙古族自治县 dmPJ嘉峪关 ZiYc庆阳市 ZiYc西峰区 a0Yr庆城县 ZfYB镇原县 ZnZ1合水县 aRYx华池县 aYYJ环县 ZUYt宁县 ZTZM正宁县 ZZVb定西 ZZVb安定区 ZCWE通渭县 ZNUp临洮县 YpVS漳县 YQV2岷县 Z8VC渭源县 Z0Vc陇西县 XOVu陇南市 XOVt武都区 XjWh成县 Y3VO宕昌县 XKWa康县 WvVf文县 Y1WH西和县 YCWA礼县 XtXI两当县 XkX5徽县 ZaUC临夏 ZUTy临夏县 ZMUg康乐县 ZuUK永靖县 ZTUY广河县 ZQUL和政县 ZeUN东乡族自治县 ZCTT甘南藏族自治州 ZCTV合作市 YfUM临潭县 YaUU卓尼县 XlVM舟曲县 Y4UD迭部县 XyT5玛曲县 YaTT碌曲县 ZJTH夏河县',
		'宁夏回族 cSXG银川 c6XK灵武市 cHXF永宁县 cXXL贺兰县 d1XM石嘴山 d3XO大武口区 d7Xf惠农区 csXX平罗县 bxXC吴忠 brX0青铜峡市 axWt同心县 blYO盐池县 a1XG固原 ZwWh西吉县 ZpXc彭阳县 ZUXK泾源县 ZbX7隆德县 bVWA中卫 aXWc海原县 bTWe中宁县',
		'青海省 abSl西宁 afSG湟源县 aUSY湟中县 auSf大通回族土族自治县 auSg桥头镇 aUT6平安县 aTTO乐都县 aKTm民和回族土族自治县 aoSv互助土族自治县 a6TG化隆回族自治县 ZpTT循化撒拉族自治县 aoSv威远镇 asRx海晏县 cARE祁连县 bKR8刚察县 bMSb门源回族自治县 bMSb浩门镇 bKR8沙柳河镇 cBRF八宝镇 ZVT1同仁县 ZuT2尖扎县 Z2SS泽库县 YiSb河南蒙古族自治县 ZVSy隆务镇 YiSa优干宁镇 aHRb共和县 ZFRZ同德县 a3SQ贵德县 ZZQx兴海县 ZZRj贵南县 aGRb恰卜恰镇 ZFRZ尕巴松多镇 a2SP河阴镇 ZZQx子科滩镇 ZYRk茫曲镇 YSRF玛沁县 WuRj班玛县 XvQt甘德县 XjQd达日县 XQST久治县 YtPD玛多县 WtRi赛来塘镇 YSRE大武镇 XwQr柯曲镇 X0O1玉树县 WyO0结古镇 WsMI杂多县 XMO6称多县 XpMb治多县 WCNT囊谦县 Y8Mk曲麻莱县 aPLr格尔木市 bMOM德令哈市 auPT乌兰县 aIP5都兰县 bIQ1天峻县 aIP5察汗乌苏镇 atPV希里沟镇 bIQ1新源镇',
		'陕西省 YGZr西安 YMaC临潼区 YAZv长安区 YWa5高陵县 Y9aI蓝田县 Y7Za户县 YAZC周至县 Z4a4铜川 YtZw耀州区 ZOa7宜君县 YNY9宝鸡 YLYN陈仓区 YVYN凤翔县 YRYb岐山县 YMYq扶风县 YGYi眉县 YsXp陇县 YdY8千阳县 YfYm麟游县 XtXV凤县 Y4YI太白县 YKZZ咸阳 YIZT兴平市 YbZt三原县 YWZo泾阳县 YWZE乾县 YTZP礼泉县 YgZ8永寿县 Z2Z4彬县 ZDYl长武县 Z7ZJ旬邑县 YmZZ淳化县 YGZC武功县 YUaU渭南 YZb6华阴市 ZSbQ韩城市 YVak华县 YXbE潼关县 Ymau大荔县 YvaZ蒲城县 ZBat澄城县 ZBaZ白水县 ZEb8合阳县 YjaA富平县 aaaT延安 aZb1延长县 asbA延川县 b9af子长县 aqaJ安塞县 anZk志丹县 atZB吴起县 aHaK甘泉县 ZyaM富县 ZkaP洛川县 a3bA宜川县 ZZan黄龙县 ZZaG黄陵县 X4Y1汉中 X0Xu南郑县 X9YJ城固县 XDYW洋县 WxYj西乡县 X9Xe勉县 WoXF宁强县 XKX9略阳县 WWYs镇巴县 XbXu留坝县 XVYx佛坪县 cHaj榆林 cnbT神木县 d2c4府谷县 bwaH横山县 bZZm靖边县 bZYZ定边县 bUbF绥德县 bjbA米脂县 c1bT佳县 bRbi吴堡县 b5b7清涧县 bbb2子洲县 Wfa1安康 WsZV汉阴县 X2ZF石泉县 XJZI宁陕县 WVZV紫阳县 WJZs岚皋县 WOaL平利县 VraV镇坪县 WoaM旬阳县 Wmb6白河县 Xqau商洛市 Xqau商州区 Y5b8洛南县 XfbJ丹凤县 XWbq商南县 XVaq山阳县 XQaA镇安县 Xfa6柞水县',
		'新疆维吾尔 hlEZ乌鲁木齐 iJBp独山子区 jaBq克拉玛依 huET五家渠市 iID2石河子市 eX8G阿拉尔市 dw6D图木舒克市 gwGB吐鲁番市 gqHD鄯善县 glFd托克逊县 gnKV哈密市 hFLf伊吾县 haK1巴里坤哈萨克自治县 fA7F阿克苏市 fG7E温宿县 fD9k沙雅县 fm8q拜城县 ec7N阿瓦提县 fh9w库车县 eU63柯坪县 fX9a新和县 fD6E乌什县 b76t和田市 b66u和田县 bG6i墨玉县 bb5H皮山县 b47B洛浦县 b07m策勒县 ap8e于田县 b49f民丰县 dS2x喀什市 dl5X巴楚县 cB4G泽普县 dU3i伽师县 br4P叶城县 dE3k岳普湖县 dP33疏勒县 cs4d麦盖提县 cu3A英吉沙县 cP4F莎车县 dN2p疏附县 bl2E塔什库尔干塔吉克自治县 dh3A阿图什市 d92u阿克陶县 eu5R阿合奇县 dg2B乌恰县 fkBF轮台县 fKDG尉犁县 d1FA若羌县 c8CW且末县 g4DY焉耆回族自治县 gJDN和静县 gFDq和硕县 fwDc博湖县 i1EI昌吉市 iAEw阜康市 hwEd米泉市 iBDs呼图壁县 iIDD玛纳斯县 i1GZ奇台县 hyGB吉木萨尔县 hnHH木垒哈萨克自治县 is94博乐市 ib9r精河县 iw82温泉县 ht8I伊宁市 iQBs奎屯市 hx8V伊宁县 i37q霍城县 hT9E巩留县 hQAF新源县 h988昭苏县 hD8o特克斯县 hl9U尼勒克县 ho89察布查尔锡伯自治县 kj9x塔城市 iQBf乌苏市 kVAb额敏县 iJCb沙湾县 juAa托里县 kD9w裕民县 kmCi和布克赛尔蒙古自治县 lgDq布尔津县 kyGV富蕴县 l7EU福海县 m4DP哈巴河县 keHN青河县 lQCr吉木乃县',
		'港澳台 MCf5香港 M8eK澳门 P2mU台北市 MblH高雄市 P8mi基隆市 O9le台中市 N0lC台南市 Onlv新竹市 NTlQ嘉义市 P1mS台北县 Okmj宜兰县 OwmI桃园县 OWlm苗栗县 OFlh台中县 O5lW彰化县 Ntle南投县 NhlW云林县 NJlJ台南县 MclM高雄县 MelT屏东县 Mjm9台东县 Nxma花莲县 NZkZ澎湖县'
	);

	for(i=0;i<JWv.length;i++) JWv[i] = JWv[i].split(" ");  //解开清单
		
	/**
	 *
	 */
	function JWdecode(v){
		var i;
		v = v.split('');
		for(i=0;i<4;i++){ //对经纬度解压缩
		v[i] = v[i].charCodeAt(0);
		if(v[i]>96)      v[i] -= 97-36;
		else if(v[i]>64) v[i] -= 65-10;
		else             v[i] -= 48;
		}
		this.J = -(v[2]+v[3]/60+73)/180*Math.PI;
		this.W =  (v[0]+v[1]/60)   /180*Math.PI;
	}
		
	/**
	 *
	 */
	var KWB1 = { //朔月堪误表,1500-1940
		c76852:-1,c76933: 1,c77005:-1,c77042: 1,c77103:-1,
		c77162:-1,c77174:-1,c77260:-1,c77275:-1,c77277: 1,
		c77383:-1,c77403: 1,c77410:-1,c77720:-1,c77732:-1,
		c77846: 1,c77855:-1,c77926:-1,c77935: 1,c77968:-1,
		c78059: 1,c78072:-1,c78221: 1,c78273:-1,c78349:-1,
		c78413:-1,c78417: 1,c78445: 1,c78499:-1,c78604: 1,
		c78681:-1,c78700: 1,c78715: 1,c78735:-1,c78739: 1,
		c78839:-1,c78984: 1,c79123:-1,c79149:-1,c79239:-1,
		c79367: 1,c79408:-1,c79561:-1,c80040:-1,c80095:-1,
		c80275:-1,c80291:-1,c80395:-1,c80415:-1,c80500:-1,
		c80601:-1,c80810: 1,c80931:-1,c81064:-1,c81324:-1,
		c81544: 1,c81733:-1,c81965:-1,c81980:-1,c82039:-1
	};
		
	/**
	 *
	 */
	var KWB2 = new Array( //闰堪误表,1500-1940
		76854,76922,76955,77057,77090,77156,77191,77224,77257,77292,77324,77392,77425,77459,77493,77526,77559,77628,77661, //1500-1600年
		77727,77762,77795,77828,77863,77895,77929,77963,77996,78030, //1500-1600年
		78098,78130,78198,78231,78265,78333,78366,78399,78466,78500,78533,78567,78634,78668,78701,78802,78833, //1600-1700年
		79645 //1700-1800年
	);

		
	/**
	 *
	 */
	function getLunOrd(jd){ return int2((jd+J2000+34)/29.5306); }; //传入J2000起算的jd,返回积月
		
	/**
	 *
	 */
	function kanwuHS(jd){
		//return jd; //如果无须朔日勘误，直接返回jd
		var h='c'+getLunOrd(jd);
		if(KWB1[h]) return jd+KWB1[h];
		return jd;
	};
		
	/**
	 *
	 */
	function kanwuNU(HS,n){ //查找堪误合朔表中是否含有闰月,合朔表应是史历订正过的表
		//return -1; //如果无须闰月勘误，直接返回-1
		var i,c;
		var k1 = getLunOrd(HS[0]);
		var k2 = getLunOrd(HS[n-1]);
		for(i=0;i<KWB2.length;i++) { c=KWB2[i]; if(c>=k1 && c<=k2) break; }
		if(KWB2.length==i) return -1;
		for(i=0;i<n;i++) if(getLunOrd(HS[i]) == c) break;
		if(i==n) return -1;
		return i;
	};

	/*********************************
	=====以下是公历、农历、回历综合日历计算=====

	  Lunar：日历计算物件

	  使用条件：事先引用eph.js、JN.js、kwb.js三个文件

	一、 calc:function(jd,jing)方法
	·功能：
	  农历排月序计算,可定出农历基本信息(如大小月、闰月、合朔等)
	·入口参数：
	  jd是J2000.0起算的儒略日数TD，使用UT也可以
	  jing=1表示精算合朔及节气时刻
	  jing=0则是精算，但在日期临界时精算
	·返回：
	  leap  闰月位置(即置闰的月序号),0表示不置闰
	  leap2 闰月位置(即置闰的月序号),0表示不置闰(第二年的)
	  ym    数组，各月名称，共15个有效月分
	  zq    数组，中气时刻表(儒略日)，14个有效
	  hs    数组，合朔时刻表(儒略日)，15个有效
	  ZQ:   数组，中气表(整数儒略日)，14个有效，整数儒略日对应该日的12:00:00
	  HS    数组，合朔表(整数儒略日)，15个有效，整数儒略日对应该日的12:00:00
	  dx    数组，14个有效
	  nu    数组，闰月情况，14个有效
	  ZQ.mangzhong 芒种儒略日，计算入梅用到
	  ZQ.xiaoshu   小暑儒略日，计算出梅用到
	  ZQ.liqiu     立秋儒略日，计算三伏用到
	  ZQ.lichun    立春儒略日，计算纪年用到

	二、Lunar.calc2(By,Bm,sw)方法
	·功能：
	  计算某一个月的“公历、农历、回历”三合历
	·入口参数：
	  By是年(公历)
	  Bm是月(公历)
	  sw表示是否计算月相及节气时刻。
	·返回：
	  结果返回在Lunar.lun中，它是一个数组，以下说明简写为lun，它包含完整的公历一个月的信息。
	  lun[0]是本月第一天信息，lun[2]为第二天，其余类推。
	  lun中的各元数下文记作ob。
	·注意：
	  此函数被调用时,Lunar.calc()被执行
	·公历月信息
	  lun.w0  本月第一天的星期
	  lun.y   公历年份
	  lun.m   公历月分
	  lun.d0  月首的J2000.0起算的儒略日数
	  lun.dn  本月的天数
	  lun.Ly  该年的干支纪年
	  lun.ShX 该年的生肖
	  lun.nianhao.nh 年号
	  lun.nianhao.nh2 年号详细
	·各日公历信息
	  ob.d0   2000.0儒略日,北京时12:00
	  ob.di   所在公历月内日序数
	  ob.y    所在公历年,同lun.y
	  ob.m    所在公历月,同lun.m
	  ob.d    日名称(公历)
	  ob.dn   所在公历月的总天数,同lun.d0
	  ob.week0所在月的月首的星期,同lun.w0
	  ob.week 星期
	  ob.weeki在本月中的周序号
	  ob.weekN本月的总周数
	·各日农历信息
	  ob.Ldi  距农历月首的编移量,0对应初一
	  ob.Ldc  日名称(农历)
	  ob.cur_dz 距冬至的天数
	  ob.cur_xz 距夏至的天数
	  ob.cur_lq 距立秋的天数
	  ob.cur_mz 距芒种的天数
	  ob.cur_xs 距小暑的天数
	  ob.Lmc  月名称
	  ob.Ldn  月大小
	  ob.Lleap闰状况(值为'闰'或空串)
	  ob.Lmc2 下个月名称,判断除夕时要用到
	·各日的农历纪年、月、日、时及星座
	  ob.Lyear  农历纪年(10进制,1984年起算,分界点可以是立春也可以是春节,在程序中选择一个)
	  ob.Lyear2 干支纪年
	  ob.Lmonth  纪月处理,1998年12月7日(大雪)开始连续进行节气计数,0为甲子
	  ob.Lmonth2 干支纪月
	  ob.Lday2  纪日
	  ob.Ltime2 纪时
	  ob.XiZ 星座
	·各日节日信息
	  ob.A 重要喜庆日子名称(可将日子名称置红)
	  ob.B 重要日子名称
	  ob.C 各种日子名称(连成一大串)
	  ob.Fjia 放假日子(可用于日期数字置红)
	·各日回历信息
	  ob.Hyear  年(回历)
	  ob.Hmonth 月(回历)
	  ob.Hday   日(回历)
	·其它信息,sw=1时有效
	  ob.yxmc 月相名称
	  ob.yxjd 月相时刻(儒略日)
	  ob.yxsj 月相时间串
	  ob.jqmc 节气名称
	  ob.jqjd 节气时刻(儒略日)
	  ob.jqsj 节气时间串
	**********************************/

	/**
	 * 
	 */
	Lunar={

		/**
		 * 
		 */
		Gan : new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸"),

		/**
		 * 
		 */
		Zhi : new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"),

		/**
		 * 
		 */
		ShX : new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"),

		/**
		 * 
		 */
		XiZ : new Array('摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手'),

		/**
		 * 
		 */
		yxmc : new Array("朔","上弦","望","下弦"), //月相名称表

		/**
		 * 
		 */
		jqmc : new Array('冬至','小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪'),

		/**
		 * 
		 */
		ymc : new Array('十一','十二','正','二','三','四','五','六','七','八','九','十'), //月名称,建寅

		/**
		 * 
		 */
		rmc : new Array('初一','初二','初三','初四','初五','初六','初七','初八','初九','初十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','廿一','廿二','廿三','廿四','廿五','廿六','廿七','廿八','廿九','三十'),

		/**
		 * 
		 */
		Weeks : new Array('日','一','二','三','四','五','六','七','八','九','十'),

		//在调用calc()或calc2()后得到以下数据

		/**
		 * 
		 */
		leap : 0,        //闰月位置

		/**
		 * 
		 */
		leap2 : 0,

		/**
		 * 
		 */
		ym : new Array(), //各月名称

		/**
		 * 
		 */
		zq : new Array(), //中气表

		/**
		 * 
		 */
		hs : new Array(), //合朔表

		/**
		 * 
		 */
		ZQ : new Array(), //中气表,其中.liqiu是节气立秋的儒略日,计算三伏时用到

		/**
		 * 
		 */
		HS : new Array(), //合朔表

		/**
		 * 
		 */
		dx : new Array(), //各月大小

		/**
		 * 
		 */
		nu : new Array(), //闰月情况


		/**
		 * 
		 */
		lun : new Array(),//月历数组,在调用calc2()之后得到


		/**
		 * 
		 */
		t2BJ : function(t){ t*=36525; return t-JD.deltatT2(t)+8/24; }, //力学时转为北京时


		/**
		 * 
		 */
		calcSun_t : function(w,k,jing){ //节气时刻计算(视位置反推时间),jing=0时高速低精度(处在日期临界时自动采用高精度)
			var t;
			if(jing) t = XL.S_aLon_t(w);
			else     t = XL.S_aLon_t2(w);
			t = this.t2BJ(t);
			if(!jing && Math.abs( mod2( t+0.5,1 )*86400) < 600 ) { t = XL.S_aLon_t(w); t = this.t2BJ(t); }
			this.zq[k] = t;
			this.ZQ[k] = int2(t+0.5);
		},
		calcMoon_t : function(w,k,jing){ //日月距角时刻计算(视位置反推时间),jing=0时高速低精度(处在日期临界时自动采用高精度)
			var t;
			if(jing) t = XL.MS_aLon_t(w);
			else     t = XL.MS_aLon_t2(w);
			t = this.t2BJ(t);
			if(!jing && Math.abs( mod2( t+0.5,1 )*86400) < 600 ) { t = XL.MS_aLon_t(w); t = this.t2BJ(t); }
			this.hs[k] = t;
			this.HS[k] = kanwuHS( int2(t+0.5) );
		},

		/**
		 * 
		 */
		calc : function(jd,jing){ //农历排月序计算,可定出农历
			var A=this.ZQ, B=this.HS;  //中气表,日月合朔表(整日)
			var i, k, W, w;

			//该年的中气
			W = (int2((jd+10)/365.2422) + 3/4)*pi2; //冬至黄经,jd=-10到-10+365.24时,取1999年12的冬至,也就时说,如果jd取12月底的几日时会计算下一年的农历
			for(i=0;i<14;i++) this.calcSun_t( W+i*pi2/12, i, jing ); //14个中气时刻(北京时间),从冬至开始到下一个冬至以后

			//今年"首朔"的日月黄经差w
			w = XL.MS_aLon( (A[0]-8/24)/36525,16,8 ); //冬至当天的日月距角估算,可以考虑加上deltatT
			w -= mod2(w,pi2); //计算距离冬至最近日月合朔的黄经,它可能比首朔多一圈

			this.calcMoon_t( w, 0, jing ); k=0;
			if( B[0]>A[0] ) this.hs[1]=this.hs[0], B[1] = B[0], w-=pi2, k=1; //判断是否多一圈

			//该年所有朔,包含14个月的始末
			for(i=0;i<15;i++) { if(i!=k) this.calcMoon_t( w+i*pi2, i, jing ); }

			//确定闰月
			for(i=0;i<14;i++) this.ym[i]=i; //月序初始化
			this.leap = this.leap2 = 0;
			if( B[13] <= A[12] ){ //第13月的月末没有超过冬至(不含冬至),说明今年含有13个月
			for(i=1; B[i+1]>A[i] && i<13; i++); //在13个月中找第1个没有中气的月份
			this.leap = i;
			for(;i<14;i++) this.ym[i]--;
			}else{
			if( B[14]<=A[13] ){ //第14月不含中气,该月可能是要置闰。这部分不是农历计算所必需的,只是为了在公历一年中显示全部农历
			this.calcSun_t (W+pi2*2, 'next', jing);
			this.calcMoon_t(w+pi2*25,'next', jing);
			if( B.next<A.next ) this.ym[13]--,this.leap2=13; //第14月置闰
			}
			}
			//闰月勘误
			k=kanwuNU(B,14);
			if(k!=-1){
			for(i=0;i<14;i++) this.ym[i]=i; //月序初始化
			this.leap = this.leap2 = 0;
			if( B[13] <= A[12] ) this.leap = k;
			else this.leap2 = k;
			for(i=k;i<14;i++) this.ym[i]--;
			}

			for(i=0;i<14;i++){ //月大小及名称转换
			this.dx[i]=this.HS[i+1]-this.HS[i];
			this.ym[i]=this.ymc[this.ym[i]%12];
			if((i==this.leap||i==this.leap2) && i) this.nu[i]='闰'; else this.nu[i]='';
			}
			this.calcSun_t( W+11*pi2/24, 'mangzhong', 0 ); //保存芒种
			this.calcSun_t( W+13*pi2/24, 'xiaoshu',   0 ); //保存小暑
			this.calcSun_t( W+15*pi2/24, 'liqiu',     0 ); //保存立秋
			this.calcSun_t( W+ 3*pi2/24, 'lichun',    0 ); //保存立春
		},

		/**
		 * 计算某一个月的“公历、农历、回历”三合历。
		 * @param {Integer} By 年(公历)。
		 * @param {Integer} Bm 月(公历)。
		 * @param {Boolean} sw 是否计算月相及节气时刻。
		 * @return 结果返回在Lunar.lun中，它是一个数组，以下说明简写为lun，它包含完整的公历一个月的信息。
		 *			 lun[0]是本月第一天信息，lun[2]为第二天，其余类推。
		 *			 lun中的各元数下文记作ob。
		 */
		calc2 : function(By, Bm, sw){ //返回公历某一个月的'公农回'三合历
			var i, j, k, c, Bd0, Bdn, lun = this.lun;
			if(!this.lun.length) { for(var i=0;i<31;i++) this.lun[i] = new Array(); }

			//日历物件初始化
			JD.h=12, JD.m=0, JD.s=0.1;
			JD.Y=By; JD.M=Bm; JD.D=1;          Bd0 = int2(JD.toJD()) - J2000;  //公历月首,中午
			JD.M++; if(JD.M>12) JD.Y++,JD.M=1; Bdn = int2(JD.toJD()) - J2000 - Bd0; //本月天数(公历)

			lun.w0= (Bd0 + J2000 +1)%7; //本月第一天的星期
			lun.y = By; //公历年份
			lun.m = Bm; //公历月分
			lun.d0 =Bd0;
			lun.dn= Bdn;

			//所属公历年对应的农历干支纪年
			c = int2((Bd0-Bm*30+150)/365.2422) + 16 + 9000;
			lun.Ly  = Lunar.Gan[c%10]+Lunar.Zhi[c%12];  //干支纪年
			lun.ShX = Lunar.ShX[c%12]; //该年对应的生肖

			//年号纪年处理
			lun.nianhao = new getNH(lun.y);

			var D,w,ob,ob2;

			//纪月计算所需的节气(提取本月所含有的节气及下一个)
			var Djq1,Djq2,jqFirst;
			w = XL.S_aLon( (Bd0+JD.deltatT2(Bd0)-8/24)/36525, 3 ); //估算当日太阳黄经,如果年代不很遥远(如J2000+-2000年),deltatT2可以不算
			w = w - mod2( w-pi2/24, pi2/12 ); //得到最近的节气经度
			Djq1 = Math.floor( this.t2BJ( XL.S_aLon_t(w) ) + 0.5 ); //得到最近的节气发生日期
			if(Djq1<Bd0){
			w += pi2/12;
			Djq1 = Math.floor( this.t2BJ( XL.S_aLon_t(w) ) + 0.5 );
			}
			Djq2 = Math.floor( this.t2BJ( XL.S_aLon_t(w+pi2/12) ) + 0.5 );
			jqFirst = int2((w%pi2)/pi2*12+15.501)%12; //取得本月首个节气序号,从大雪起算(所以加12+3.5=15.5,其中加12是为了防止出现负数)

			//提取各日信息
			for(i=0,j=0;i<Bdn;i++){
			ob = lun[i];
			ob.d0 = Bd0+i; //儒略日,北京时12:00
			ob.di = i;     //公历月内日序数
			ob.y  = By;    //公历年
			ob.m  = Bm;    //公历月
			ob.dn = Bdn;   //公历月天数
			ob.week0 = lun.w0; //月首的星期
			ob.week  = (lun.w0+i)%7; //当前日的星期
			ob.weeki = int2((lun.w0+i)/7); //本日所在的周序号
			ob.weekN = int2((lun.w0+Bdn-1)/7) + 1;  //本月的总周数
			JD.setFromJD(ob.d0+J2000); ob.d = JD.D; //公历日名称

			if(!this.HS.length || ob.d0<this.HS[0] || ob.d0>=this.HS[13]+this.dx[13]) //如果d0在已计算农历范围内则不再计算
			  this.calc(ob.d0,0);
			j = Math.floor( (ob.d0-this.HS[0])/30 );  if(j<13 && this.HS[j+1]<=ob.d0) j++; //农历所在月的序数
			ob.Ldi = ob.d0 - this.HS[j];    //距农历月首的编移量,0对应初一
			ob.Ldc = this.rmc[ob.Ldi];      //农历日名称
			ob.cur_dz = ob.d0-this.ZQ[0];   //距冬至的天数
			ob.cur_xz = ob.d0-this.ZQ[6];   //距夏至的天数
			ob.cur_lq = ob.d0-this.ZQ.liqiu;//距立秋的天数
			ob.cur_mz = ob.d0-this.ZQ.mangzhong;//距芒种的天数
			ob.cur_xs = ob.d0-this.ZQ.xiaoshu;  //距小暑的天数
			if(ob.cur_dz>180) ob.cur_dz = ob.d0-this.ZQ[12];
			if(i||ob.d0==Bd0){ //月的信息
			  ob.Lmc  = this.ym[j]; //月名称
			  ob.Ldn  = this.dx[j]; //月大小
			  ob.Lleap= this.nu[j]; //闰状况
			  ob.Lmc2 = j<13?this.ym[j+1]:"未知"; //下个月名称,判断除夕时要用到
			}else{
			  ob2=this.lun[i-1];
			  ob.Lmc  = ob2.Lmc,   ob.Ldn  = ob2.Ldn;
			  ob.Lleap= ob2.Lleap, ob.Lmc2 = ob2.Lmc2;
			}
			ob.yxmc = ob.yxjd = ob.yxsj ='';//月相名称,月相时刻(儒略日),月相时间串
			ob.jqmc = ob.jqjd = ob.jqsj ='';//节气名称,节气时刻(儒略日),节气时间串

			//干去纪年处理
			//以下被注释的两行以正正月初一定年首
			//D = (j+10)%12; //月顺序号,正月为0
			//D = (ob.d0 - D*29.5) + 365.25*16-35; //该年春节与1984年平均春节(立春附近)相差天数估计
			D = this.ZQ.lichun + (ob.d0<this.ZQ.lichun?-365:0) + 365.25*16-35; //以立春为界定纪年
			ob.Lyear =  Math.floor(D/365.2422+0.5); //农历纪年(10进制,1984年起算)
			D = ob.Lyear +9000;
			ob.Lyear2 = this.Gan[D%10]+this.Zhi[D%12]; //干支纪年

			//纪月处理,1998年12月7(大雪)开始连续进行节气计数,0为甲子
			if(ob.d0<Djq1)      ob.Lmonth = jqFirst-1; //ob.Lmonth是该日到大雪(往前算)的准确节气月数
			else if(ob.d0<Djq2) ob.Lmonth = jqFirst;
			else                ob.Lmonth = jqFirst+1;

			D = (ob.d0 - ob.Lmonth*15.2)+24+365; //今年子月相对1998年12月7(大雪)天数估计
			D = Math.floor(D/365.2422+0.4)*12 + ob.Lmonth +90000;
			ob.Lmonth2 = this.Gan[D%10]+this.Zhi[D%12];

			//纪日,2000年1月7日起算
			D = (ob.d0 - 6 + 9000000)%60;
			ob.Lday2 = this.Gan[D%10]+this.Zhi[D%12];

			//纪时,2000年1月2日起算
			D = (ob.d0 - 1)*12 + 90000000;
			for(k=0,c='';k<12;k++){
			  w = (k*2+23)%24; if(w<10) w='0'+w; c+=w+'-';
			  w =  k*2+1;      if(w<10) w='0'+w; c+=w;
			  c += this.Gan[(D+k)%10]+this.Zhi[(D+k)%12]+'时 ';
			  if(k%3==2) c+='<br>';
			}
			ob.Ltime2=c;

			//节日
			this.getDayName(ob);

			//星座
			j = Math.floor( (ob.d0-this.ZQ[0])/31 );  if( j<13 && ob.d0>=this.ZQ[j+1] ) j++; //星座所在月的序数,(如果j=13,ob.d0不会超过第14号中气)
			ob.XiZ = this.XiZ[(j+12)%12]+'座';
			//回历
			this.getHuiLi(ob);
			}

			//以下是月相与节气的处理
			if(!sw) return;
			var d,xn, jd2= Bd0+JD.deltatT2(Bd0)-8/24;
			//月相查找
			w = XL.MS_aLon( (jd2+3)/36525,10,3 );
			w -= mod2(w,Math.PI/2);
			do {
			d = this.t2BJ( XL.MS_aLon_t(w) );
			D = int2(d+0.5);
			xn= int2((w%pi2)/pi2*4+4.01)%4; //取得月相序号
			w += pi2/4;
			if(D>=Bd0+Bdn) break;
			if(D<Bd0) continue;
			ob = this.lun[D-Bd0];
			ob.yxmc = this.yxmc[xn]; //取得月相名称
			ob.yxjd = d;
			ob.yxsj = JD.timeStr(d);
			} while(D+5<Bd0+Bdn);

			//节气查找
			w = XL.S_aLon( (jd2+6)/36525, 3 );
			w -= mod2(w,pi2/24);
			do {
			d = this.t2BJ( XL.S_aLon_t(w) );
			D = int2(d+0.5);
			xn= int2((w%pi2)/pi2*24+24.01+6)%24; //取得节气序号
			w += pi2/24;
			if(D>=Bd0+Bdn) break;
			if(D<Bd0) continue;
			ob = this.lun[D-Bd0];
			ob.jqmc = this.jqmc[xn]; //取得节气名称
			ob.jqjd = d;
			ob.jqsj = JD.timeStr(d);
			} while(D+12<Bd0+Bdn);
		},

		/**
		 * 
		 */
		getHuiLi : function(ob){ //回历计算
			//以下算法使用Excel测试得到,测试时主要关心年临界与月临界
			var z,y,m,d;
			d = ob.d0 + 503105;       z = int2((d+0.1)/10631);   //10631为一周期(30年)
			d -= z*10631;             y = int2((d+0.5)/354.366); //加0.5的作用是保证闰年正确(一周中的闰年是第2,5,7,10,13,16,18,21,24,26,29年)
			d -= int2(y*354.366+0.5); m = int2((d+0.11)/29.51);  //分子加0.11,分每加0.01的作用是第354或355天的的月分保持为12月(m=11)
			d -= int2(m*29.51+0.5);
			ob.Hyear = z*30+y+1;
			ob.Hmonth= m+1;
			ob.Hday  = d+1;
		},

		/**
		 * 
		 */
		sFtv : new Array( //国历节日 #表示放假日,I表示重要节日或纪念日
			new Array('01#元旦'),//1月
			new Array('02I世界湿地日','10 国际气象节','14I情人节'),//2月
			new Array('01 国际海豹日','03 全国爱耳日','05 1963-9999学雷锋纪念日','08I妇女节','12I植树节/ 1925-9999孙中山逝世纪念日','14 国际警察日', //3月
			'15I1983-9999消费者权益日','17 中国国医节/ 国际航海日','21 世界森林日/ 消除种族歧视国际日/ 世界儿歌日','22I世界水日',
			'23I世界气象日','24 1982-9999世界防治结核病日','25 全国中小学生安全教育日','30 巴勒斯坦国土日'),

			new Array('01I1564-9999愚人节/ 全国爱国卫生运动月(四月)/ 税收宣传月(四月)','07I世界卫生日','22I世界地球日','23 世界图书和版权日','24 亚非新闻工作者日'),//4月
			new Array('01#1889-9999劳动节','04I青年节','05 碘缺乏病防治日','08 世界红十字日','12I国际护士节','15I国际家庭日','17 国际电信日','18 国际博物馆日','20 全国学生营养日','23 国际牛奶日','31I世界无烟日'),  //5月
			new Array('01I1925-9999国际儿童节','05 世界环境保护日','06 全国爱眼日','17 防治荒漠化和干旱日','23 国际奥林匹克日','25 全国土地日','26I国际禁毒日'),//6月
			new Array('01I1997-9999香港回归纪念日/I1921-9999中共诞辰 世界建筑日','02 国际体育记者日','07I1937-9999抗日战争纪念日','11I世界人口日','30 非洲妇女日'),//7月
			new Array('01I1927-9999建军节','08 中国男子节(爸爸节)','15I1945-9999抗日战争胜利纪念'),//8月
			new Array('08 1966-9999国际扫盲日 国际新闻工作者日','09 毛泽东逝世纪念','10I中国教师节', '14 世界清洁地球日','16 国际臭氧层保护日','18I九·一八事变纪念日','20 国际爱牙日','27 世界旅游日','28I孔子诞辰'),//9月
			new Array('01#1949-9999国庆节/ 世界音乐日/ 国际老人节','02#1949-9999国庆节假日/ 国际和平与民主自由斗争日','03#1949-9999国庆节假日','04 世界动物日','06 老人节', //10月
			'08 全国高血压日/ 世界视觉日','09 世界邮政日/ 万国邮联日','10I辛亥革命纪念日/ 世界精神卫生日','13 世界保健日/ 国际教师节',
			'14 世界标准日','15 国际盲人节(白手杖节)','16 世界粮食日','17 世界消除贫困日','22 世界传统医药日','24 联合国日','31 世界勤俭日'),

			new Array('07 1917-9999十月社会主义革命纪念日','08 中国记者日','09 全国消防安全宣传教育日','10 世界青年节','11 国际科学与和平周(本日所属的一周)','12 孙中山诞辰纪念日','14 世界糖尿病日','17 国际大学生节/ 世界学生节','20 彝族年','21 彝族年/ 世界问候日/ 世界电视日','22 彝族年','29 国际声援巴勒斯坦人民国际日'), //11月
			new Array('01I1988-9999世界艾滋病日','03 世界残疾人日','05 国际经济和社会发展志愿人员日','08 国际儿童电视日','09 世界足球日','10 世界人权日','12I西安事变纪念日','13I南京大屠杀(1937年)纪念日','20 澳门回归纪念','21 国际篮球日','24I平安夜','25I圣诞节','26 毛泽东诞辰纪念')//12月
		),

		wFtv : new Array( //某月的第几个星期几
			'0150I世界麻风日', //一月的最后一个星期日（月倒数第一个星期日）
			'0520 国际母亲节',
			'0530I全国助残日',
			'0630 父亲节',
			'0730 被奴役国家周',
			'0932I国际和平日',
			'0940 国际聋人节 世界儿童日',
			'0950I世界海事日',
			'1011 国际住房日',
			'1013I国际减轻自然灾害日(减灾日)',
			'1144I感恩节'
		),

		/**
		 * 
		 */
		getDayName : function(r){ //取某日节日
			var m0=(r.m<10?'0':'')+r.m;
			var d0=(r.d<10?'0':'')+r.d;
			var i,j,s,s2,type;

			r.A = r.B = r.C = ''; r.Fjia = 0;
			if(r.week==0||r.week==6) r.Fjia = 1; //星期日或星期六放假
			//按农历日期查找重量点节假日
			if(r.Lmc=='正' && r.Lleap!='闰'){ //取农历节日名称(放假)
			if(r.Ldc=='初一') r.A += '春节 ',     r.Fjia = 1;
			if(r.Ldc=='初二') r.B += '大年初二 ', r.Fjia = 1;
			if(r.Ldc=='初三') r.B += '大年初三 ', r.Fjia = 1;
			}
			if(r.Lmc=='五' && r.Ldc=='初五' && r.Lleap!='闰') r.A += '端午节 ', r.Fjia = 1;
			if(r.Lmc=='八' && r.Ldc=='十五' && r.Lleap!='闰') r.A += '中秋节 ', r.Fjia = 1;

			//按农历日期查找主要节假日
			if(r.Lmc=='正'  && r.Ldc=='十五' && r.Lleap!='闰') r.A += '元宵节 ';
			if(r.Lmc=='七'  && r.Ldc=='初七' && r.Lleap!='闰') r.B += '七夕情人节 ';
			if(r.Lmc=='七'  && r.Ldc=='十五' && r.Lleap!='闰') r.B += '七月半(鬼节) ';
			if(r.Lmc=='九'  && r.Ldc=='初九' && r.Lleap!='闰') r.B += '重阳节 ';
			if(r.Lmc=='十二'&& r.Ldc=='初八' && r.Lleap!='闰') r.B += '腊八节 ';
			if(r.Lmc=='十二'&& r.Lmc2=="正"){
			if(r.Ldc=="三十" && r.Ldn==30) r.B += '除夕 ';
			if(r.Ldc=="廿九" && r.Ldn==29) r.B += '除夕 ';
			if(r.Ldc=="廿三") r.B += '小年';
			}

			//按公历日期查找
			for(i=0;i<this.sFtv[r.m-1].length;i++){ //公历节日或纪念日
			s=this.sFtv[r.m-1][i];
			if(s.substr(0,2)!=d0) continue;
			s = s.substr(2,s.length-2);
			s = s.split('/');
			for(j=0;j<s.length;j++){ //遍历该日的节日名称
			s2 = s[j];
			type=s2.substr(0,1);
			if(s2.substr(5,1)=='-'){ //有年限的
			 if( r.y<(s2.substr(1,4)-0) || r.y>(s2.substr(6,4)-0) ) continue;
			 s2 = s2.substr(10,s2.length-10);
			} else {
			 if(r.y<1850) continue;
			 s2 = s2.substr(1,s2.length-1);
			}
			if(type=='#') r.A += s2 + ' ', r.Fjia = 1; //放假的节日
			if(type=='I') r.B += s2 + ' '; //主要
			if(type==' ') r.C += s2 + ' '; //其它
			}
			break;
			}

			//按周查找
			var w = m0 + (r.weeki+1) + r.week; //d日在本月的周数及星期

			for(i=0;i<this.wFtv.length;i++){
			s=this.wFtv[i];
			s2=s.substr(0,4); if(s2.substr(2,1)=='5') s2 = s2.substr(0,2)+r.weekN+s2.substr(3,1); //如果是5,则转为本月最后一周
			if(s2!=w) continue;
			type=s.substr(4,1);
			s = s.substr(5,s.length-5);
			if(type=='#') r.A += s + ' ', r.Fjia = 1;
			if(type=='I') r.B += s + ' ';
			if(type==' ') r.C += s + ' ';
			}

			//农历特殊日子
			if(r.cur_dz==0)  r.B += '冬至';
			if(r.cur_dz>=0&&r.cur_dz<81){ //数九
			w = this.Weeks[Math.floor(r.cur_dz/9)+1];
			if(r.cur_dz%9==0) r.B += '『'+ w +'九』 '
			else r.C += w + '九第'+(r.cur_dz%9+1)+'天 ';
			}

			w = r.Lday2.substr(0,1);
			w2= r.Lday2.substr(1,1);
			if(r.cur_xz>20 && r.cur_xz<=30 && w=='庚') r.B += '初伏 ';
			if(r.cur_xz>30 && r.cur_xz<=40 && w=='庚') r.B += '中伏 ';
			if(r.cur_lq>0  && r.cur_lq<=10 && w=='庚') r.B += '末伏 ';
			if(r.cur_mz>0  && r.cur_mz<=10 && w=='丙') r.B += '入梅 ';
			if(r.cur_xs>0  && r.cur_xs<=12 &&w2=='未') r.B += '出梅 ';
		}
	};

	var SQv = new Array(
		'-1200 安尼威土克、瓜甲兰;国际换日线',
		'-1100 中途岛、萨摩亚群岛;萨摩亚',
		'-1000 夏威夷;夏威夷',
		'-0900*阿拉斯加;阿拉斯加',
		'-0800*太平洋时间(美加)、提亚纳;太平洋',
		'-0700*亚历桑那;美国山区',
		'-0700*山区时间(美加);美加山区',
		'-0600*萨克其万(加拿大);加拿大中部',
		'-0600*墨西哥市、塔克西卡帕;墨西哥',
		'-0600*中部时间(美加);美加中部',
		'-0500*波哥大、里玛;南美洲太平洋',
		'-0500*东部时间(美加);美加东部',
		'-0500*印第安纳(东部);美东',
		'-0400*加拉卡斯、拉帕兹;南美洲西部',
		'-0400*大西洋时间 加拿大);大西洋',
		'-0330 新岛(加拿大东岸);纽芬兰',
		'-0300 波西尼亚;东南美洲',
		'-0300 布鲁诺斯爱丽斯、乔治城;南美洲东部',
		'-0200*大西洋中部;大西洋中部',
		'-0100*亚速尔群岛、维德角群岛;亚速尔',
		'+0000 格林威治时间、都柏林、爱丁堡、伦敦;英国夏令',
		'+0000 莫洛维亚(赖比瑞亚)、卡萨布兰卡;格林威治标准',
		'+0100 巴黎、马德里;罗马',
		'+0100 布拉格, 华沙, 布达佩斯;中欧',
		'+0100 柏林、斯德哥尔摩、罗马、伯恩、布鲁赛尔、维也纳;西欧',
		'+0200 以色列;以色列',
		'+0200*东欧;东欧',
		'+0200*开罗;埃及',
		'+0200*雅典、赫尔辛基、伊斯坦堡;GFT',
		'+0200*赫拉雷、皮托里;南非',
		'+0300*巴格达、科威特、奈洛比(肯亚)、里雅德(沙乌地);沙乌地阿拉伯',
		'+0300*莫斯科、圣彼得堡、贺占、窝瓦格瑞德;俄罗斯',
		'+0330*德黑兰;伊朗',
		'+0400*阿布达比(东阿拉伯)、莫斯凯、塔布理斯(乔治亚共和);阿拉伯',
		'+0430*喀布尔;阿富汗',
		'+0500 伊斯兰马巴德、克洛奇、伊卡特林堡、塔须肯;西亚',
		'+0530 孟买、加尔各答、马垂斯、新德里、可伦坡;印度',
		'+0600 阿马提、达卡;中亚',
		'+0700 曼谷、亚加达、胡志明市;曼谷',
		'+0800 北京、重庆、黑龙江;中国',
		'+0900 东京、大阪、扎幌、汉城、亚库兹(东西伯利亚);东京',
		'+0930 达尔文;澳洲中部',
		'+1000 布里斯本、墨尔本、席德尼;席德尼',
		'+1000 霍巴特;塔斯梅尼亚',
		'+1000 关岛、莫斯比港、海威;西太平洋',
		'+1100*马哥大、所罗门群岛、新卡伦多尼亚;太平洋中部',
		'+1200 威灵顿、奥克兰;纽西兰',
		'+1200 斐济、肯加塔、马歇尔群岛;斐济');

	/*-------------------------------------------- 许剑伟 寿星万年历 程序内核 --------------------------------------------*/
	
	/**
	 * 根据年月日时返回干支纪时信息。
	 * 
	 * @param {Int} By 年(公历)。
	 * @param {Int} Bm 月(公历)。
	 * @param {Int} Bd 日。
	 * @param {Int} Bh 时。
	 * @return 返回干支纪时的对象。
	 */
	Lunar.e_calc2 = function(By, Bm, Bd, Bh){
		var result = {//用于返回结果的干支对象。
			year_trunk : 0,
			year_branch : 0,
			month_trunk : 0,
			month_branch : 0,
			day_trunk : 0,
			day_branch : 0,
			hour_trunk : 0,
			hour_branch : 0
		};
		var i, j, k, c, Bd0, Bdn, lun = this.lun;
		if(!this.lun.length) { for(var i=0;i<31;i++) this.lun[i] = new Array(); }

		//日历物件初始化
		JD.h=12, JD.m=0, JD.s=0.1;
		JD.Y=By; JD.M=Bm; JD.D=1;          Bd0 = int2(JD.toJD()) - J2000;  //公历月首,中午
		JD.M++; if(JD.M>12) JD.Y++,JD.M=1; Bdn = int2(JD.toJD()) - J2000 - Bd0; //本月天数(公历)

		lun.w0= (Bd0 + J2000 +1)%7; //本月第一天的星期
		lun.y = By; //公历年份
		lun.m = Bm; //公历月分
		lun.d0 =Bd0;
		lun.dn= Bdn;

		//所属公历年对应的农历干支纪年Lyear2
		c = int2((Bd0-Bm*30+150)/365.2422) + 16 + 9000;
		result.year_trunk = c%10;
		result.year_branch = c%12;

		var D,w,ob,ob2;

		//纪月计算所需的节气(提取本月所含有的节气及下一个)
		var Djq1,Djq2,jqFirst;
		w = XL.S_aLon( (Bd0+JD.deltatT2(Bd0)-8/24)/36525, 3 ); //估算当日太阳黄经,如果年代不很遥远(如J2000+-2000年),deltatT2可以不算
		w = w - mod2( w-pi2/24, pi2/12 ); //得到最近的节气经度
		Djq1 = Math.floor( this.t2BJ( XL.S_aLon_t(w) ) + 0.5 ); //得到最近的节气发生日期
		if(Djq1<Bd0){
		w += pi2/12;
		Djq1 = Math.floor( this.t2BJ( XL.S_aLon_t(w) ) + 0.5 );
		}
		Djq2 = Math.floor( this.t2BJ( XL.S_aLon_t(w+pi2/12) ) + 0.5 );
		jqFirst = int2((w%pi2)/pi2*12+15.501)%12; //取得本月首个节气序号,从大雪起算(所以加12+3.5=15.5,其中加12是为了防止出现负数)

		//提取各日信息
		var i = Bd -1;
		i = (i < 0) ? 0 : i;
		
		ob = lun[i];
		ob.d0 = Bd0+i; //儒略日,北京时12:00
		ob.di = i;     //公历月内日序数
		ob.y  = By;    //公历年
		ob.m  = Bm;    //公历月
		ob.dn = Bdn;   //公历月天数
		ob.week0 = lun.w0; //月首的星期
		ob.week  = (lun.w0+i)%7; //当前日的星期
		ob.weeki = int2((lun.w0+i)/7); //本日所在的周序号
		ob.weekN = int2((lun.w0+Bdn-1)/7) + 1;  //本月的总周数
		JD.setFromJD(ob.d0+J2000); ob.d = JD.D; //公历日名称

		if(!this.HS.length || ob.d0<this.HS[0] || ob.d0>=this.HS[13]+this.dx[13]) //如果d0在已计算农历范围内则不再计算
		  this.calc(ob.d0,0);
		j = Math.floor( (ob.d0-this.HS[0])/30 );  if(j<13 && this.HS[j+1]<=ob.d0) j++; //农历所在月的序数
		ob.Ldi = ob.d0 - this.HS[j];    //距农历月首的编移量,0对应初一
		ob.Ldc = this.rmc[ob.Ldi];      //农历日名称
		ob.cur_dz = ob.d0-this.ZQ[0];   //距冬至的天数
		ob.cur_xz = ob.d0-this.ZQ[6];   //距夏至的天数
		ob.cur_lq = ob.d0-this.ZQ.liqiu;//距立秋的天数
		ob.cur_mz = ob.d0-this.ZQ.mangzhong;//距芒种的天数
		ob.cur_xs = ob.d0-this.ZQ.xiaoshu;  //距小暑的天数
		if(ob.cur_dz>180) ob.cur_dz = ob.d0-this.ZQ[12];
		if(i||ob.d0==Bd0){ //月的信息
		  ob.Lmc  = this.ym[j]; //月名称
		  ob.Ldn  = this.dx[j]; //月大小
		  ob.Lleap= this.nu[j]; //闰状况
		  ob.Lmc2 = j<13?this.ym[j+1]:"未知"; //下个月名称,判断除夕时要用到
		}else{
		  ob2=this.lun[i-1];
		  ob.Lmc  = ob2.Lmc,   ob.Ldn  = ob2.Ldn;
		  ob.Lleap= ob2.Lleap, ob.Lmc2 = ob2.Lmc2;
		}
		ob.yxmc = ob.yxjd = ob.yxsj ='';//月相名称,月相时刻(儒略日),月相时间串
		ob.jqmc = ob.jqjd = ob.jqsj ='';//节气名称,节气时刻(儒略日),节气时间串

		//干去纪年处理
		//以下被注释的两行以正正月初一定年首
		//D = (j+10)%12; //月顺序号,正月为0
		//D = (ob.d0 - D*29.5) + 365.25*16-35; //该年春节与1984年平均春节(立春附近)相差天数估计
		D = this.ZQ.lichun + (ob.d0<this.ZQ.lichun?-365:0) + 365.25*16-35; //以立春为界定纪年
		ob.Lyear =  Math.floor(D/365.2422+0.5); //农历纪年(10进制,1984年起算)
		D = ob.Lyear +9000;
		ob.Lyear2 = this.Gan[D%10]+this.Zhi[D%12]; //干支纪年

		//纪月处理,1998年12月7(大雪)开始连续进行节气计数,0为甲子
		if(ob.d0<Djq1)      ob.Lmonth = jqFirst-1; //ob.Lmonth是该日到大雪(往前算)的准确节气月数
		else if(ob.d0<Djq2) ob.Lmonth = jqFirst;
		else                ob.Lmonth = jqFirst+1;

		D = (ob.d0 - ob.Lmonth*15.2)+24+365; //今年子月相对1998年12月7(大雪)天数估计
		D = Math.floor(D/365.2422+0.4)*12 + ob.Lmonth +90000;
		result.month_trunk = D%10;
		result.month_branch = D%12;

		//纪日,2000年1月7日起算
		D = (ob.d0 - 6 + 9000000)%60;
		ob.Lday2 = this.Gan[D%10]+this.Zhi[D%12];

		result.day_trunk = D%10;
		result.day_branch = D%12;

		//纪时,2000年1月2日起算
		D = (ob.d0 - 1)*12 + 90000000;
		var k = Math.floor((Bh + 1)/2 );

		w = (k*2+23)%24; if(w<10) w='0'+w; 
		w =  k*2+1;      if(w<10) w='0'+w;
		  
		result.hour_trunk = (D+k)%10;
		result.hour_branch = (D+k)%12;

		return result;
	}
})();
